SELECT
INT_VALUE = NULL -- Result Data Type = INT
,STR_VALUE = NULL -- Result Data Type = INT
我想确保STR_VALUE是一个varchar NULL而不是int NULL。我需要在SELECT语句和派生列中完成此操作。
我怎样才能做到这一点?
谢谢
更新:感谢大家提供快速反馈。只是“fyi”之类的东西,我正在尝试为ETL应用程序创建查询查询,并想看看我是否可以在t-sql中创建NULL字符串列,而不是创建基于NULL字符串派生列的ETL应用程序。
THX
答案 0 :(得分:3)
NULL
默认为int。您可以使用cast()
将其更改为任何其他类型:
SELECT INT_VALUE = NULL, -- Result Data Type = INT
STR_VALUE = cast(NULL as varchar(255)) -- Result Data Type = varchar(255)
答案 1 :(得分:1)
只需CAST
:
SELECT
INT_VALUE = CAST(NULL AS int)
,STR_VALUE = CAST(NULL as VARCHAR(10))
答案 2 :(得分:1)
如果你是根据SELECT创建一个表(例如SELECT INTO),你也可以使用cast / convert:
SELECT NULL as INT_VALUE, CAST(NULL as Varchar(10)) AS STR_VALUE
INTO MyNewTable