有没有办法在SQL Server 2012数据库的表中设置字段的默认值,这样我就不需要输入它了?
我意识到这并没有设定完美的副本,但它足以满足我的需求。
guid.ToString().Substring(10);
答案 0 :(得分:6)
CREATE TABLE dbo.fooblat
(
id INT,
splungemort CHAR(10) NOT NULL DEFAULT LEFT(NEWID(),10)
);
INSERT dbo.fooblat(id) VALUES(1),(2);
SELECT id,splungemort FROM dbo.fooblat;
结果:
id splungemort
1 F2E81CC6-F
2 7B04996B-8
如果LEFT()
未提供您所关注的十个字符,则可以查找RIGHT()
或SUBSTRING()
。
答案 1 :(得分:0)
首先,字符串格式的GUID的默认长度为36。
-- default length
select len(newid())
其次,字符串包含连字符。
-- sample number
select newid()
8260C133-5123-4C61-AD6E-74BC355E3E3B
第三,我不知道你为什么要在结果中加一个连字符。左,右或子串(mid)可用于抓取字符。
-- Grab ten characters
select left(replace(newid(), '-', ''), 10)
最后但并非最不重要的是,无法保证结果是唯一的。