2
A
回答
0
這一點很難說什麼你真的想這樣做,但它可能是像
select
'WD-20' +
right('00' + cast(cast(rand() * 15 as int) + 1 as nvarchar(2)), 2) + '-' +
'000' + cast(cast(rand() * 9 as int) + 1 as nvarchar(1))
+0
情景是,每次我在表中插入新記錄時,都會生成「WD-2010-0001」,「WD-2010-0002」。我想要使用這些自動生成的值作爲id像在常規情況下「ID」列生成值1,2,3等.... –
0
我覺得OP的意思是不如何生成特定的值,但是如何自動填充列。我認爲使用觸發器是正確的選擇。喜歡的東西:
CREATE TRIGGER [Add_WD] on dbo.MyTable AFTER INSERT AS
UPDATE dbo.MyTable
SET WD = '' -- you can put your value generation logic here.
FROM Inserted i
WHERE dbo.MyTable.PrimaryId = i.PrimaryId
0
這可能會幫助你
DECLARE @String varchar(20)='WD-2010-0001'
SELECT 'WD-2010-'+
REPLICATE('0', 4 - LEN(REVERSE(CAST(REVERSE(LEFT(REVERSE(@String),
CHARINDEX('-', REVERSE(@String)) -1)) AS INT)+1)))+
CAST(CAST(REVERSE(left(REVERSE(@String), CHARINDEX('-',
REVERSE(@String)) -1)) AS INT)+1 AS VARCHAR(4))
與column name
1
正如我在評論說,我會存放不同的零件來替換@String
然後分別使用計算格式化柱。
create table T (
_ID int IDENTITY(20100001,1) not null,
ID as 'WD-' + LEFT(CONVERT(varchar(10),_ID),4) + '-' + SUBSTRING(CONVERT(varchar(10),_ID),5,10),
ColumnA int not null
)
go
insert into T(ColumnA) values (10)
go
select ID,ColumnA from T
主要生產::
ID ColumnA
------------------ -----------
WD-2010-0001 10
而接下來的插入會WD-2010-0002
等
1
IF OBJECT_ID('dbo.test2') IS NOT NULL DROP TABLE dbo.test2
CREATE TABLE dbo.test2
(
Id int IDENTITY,
colLikeWd varchar(2) DEFAULT 'WD',
colLikeYear varchar(4) DEFAULT '2010',
colLikeAuto AS colLikeWd + '-' + colLikeYear + '-' + RIGHT('0000' + CAST(Id AS varchar(4)), 4),
colAnother varchar(100)
)
GO
INSERT dbo.test2(colAnother)
VALUES('AnotherColumn')
GO 5
SELECT *
FROM dbo.test2
使用表達式,因爲這可能是簡單
查看演示SQLFiddle
相關問題
- 1. Symfony3自動生成特定的值
- 2. 如何在Adempiere中自動生成列?
- 3. 自動生成列空值
- 4. 如何爲列中的特定值生成虛擬變量?
- 5. 阿爾特自動生成序列
- 6. 將自動生成的值插入到具有特定模式的列中
- 7. 如何在XSL FO中動態生成特定的一組列的嵌套列
- 8. mySQL - 如何自動生成字段值
- 9. 如何獲得自動生成的值?
- 10. 如何在加速器中自定義自動生成的index.html
- 11. 如何在Mongoose中自動生成自定義ID?
- 12. 如何自動生成數組列表?
- 13. 在Wordpress中自動生成自定義字段值
- 14. 返回自動生成的列值
- 15. 如何使用特定字符串自動生成用戶名?
- 16. 自動爲特定類生成已經生成的setter
- 17. 如何在Eclipse中自動生成* -javadoc.jar?
- 18. 如何在p:dataGrid中自動生成paginator
- 19. 在文本框中自動生成值
- 20. 自動生成excel文件在一天中的特定時間
- 21. 如何在Laravel刀片中生成多於特定的列
- 22. 如何動態生成具有特定列的sql查詢
- 23. 在sql中生成自定義序列
- 24. 在C#/ Silverlight程序中自動生成列自動記錄列
- 25. 如何生成表中特定一組列值的第一個值..?
- 26. 固定標題自動生成列
- 27. 如何在Spark Dataframe中重新生成特定列的多個值?
- 28. 如何在SQL Server中爲自動增量列指定特定值?
- 29. 如何在apache中生成主鍵(自動生成的序列)cassandra
- 30. 在特定值上生成索引
這些值從哪裏來?這些值是表中其他列中的值的組合嗎? –
「WD」和「2015,2010」的值是多少? – Nithesh
通常最好是在單獨的列中保留單獨的部分(這些部分會有所不同,但方式不同),然後使用構造格式化值的計算列(或視圖)。如果這是合適的,你能告訴我們這些規則是如何變化的? WD-'是否總是固定在那些角色上? –