7

SSDT 功能的一部分是能够通过临时的默认约束(称为“智能默认值”)用虚拟值填充不可为空的列。

通过反复试验,我发现了以下“智能默认”值:

---------------------------------------------------------------
| Type             | Smart Default Value                      |
---------------------------------------------------------------
| int              | 0                                        |
---------------------------------------------------------------
| uniqueidentifier | 00000000-0000-0000-0000-000000000000     |
---------------------------------------------------------------
| "string"         | ''                                       |
---------------------------------------------------------------

有谁知道每种类型是否存在“智能默认”值的资源?

4

1 回答 1

15

我也找不到官方文档。我根据对 SSDT 的试验整理了一个列表,并在SSDT Default Values For Smart Defaults上发布了它,但它包含在下面以供快速参考。(对不起 - 我可以做的最好的格式化)。

bigint              0
binary              0x00
bit                 0
char                empty string
date                1900-01-01
datetime            1900-01-01 00:00:00.000
datetime2           1900-01-01 00:00:00.0000000
datetimeoffset      1900-01-01 00:00:00.0000000 +00:00
decimal             0
float               0
hierarchyid         smart default not valid
image               0x
int                 0
money               0.00
nchar               empty string
ntext               empty string
numeric             0
nvarchar            empty string
real                0
smalldatetime       1900-01-01 00:00:00
smallint            0
smallmoney          0.00
sql_variant         smart default not valid
text                empty string
time                00:00:00.0000000
timestamp           null value not allowed
tinyint             0
uniqueidentifier    00000000-0000-0000-0000-000000000000
varbinary           0x
varchar             empty string
xml                 empty string
于 2013-10-17T17:49:30.613 回答