[英]Concat NULL with Varchar SQL Server 2008
我想问一下如何在不获取NULL
情况下将nvarchar
列与NULL
连接起来? 我想使用SELECT
创建INSERT
脚本,但是当任何一个值为NULL
,我只会得到NULL
。
SELECT TOP 10
'IF NOT EXISTS(SELECT 1 FROM tblParameterKey
WHERE keyNames='''
+ CAST(ISNULL([keyNames], 'NULL') AS NVARCHAR(255)) + ''')
BEGIN
INSERT INTO tblParameterKey VALUES(''' + CAST(ISNULL([keyNames], 'NULL') AS NVARCHAR(255))+''')
END'
FROM tblParameterKey
当value不为null时,此查询将返回正确的insert inly。 如果value为null,则返回带有'NULL'的insert,这是不正确的,因为它将作为varchar而不是null值插入。 如果删除'',则整个结果将为null。
编辑-可能将NULLIF
语句放入查询字符串中,这样它将为null
而不是string null
。
SELECT TOP 10
'IF NOT EXISTS(SELECT 1 FROM tblParameterKey
WHERE keyNames=NULLIF('''
+ [keyNames] + ''', 'NULL') AS NVARCHAR(255))
BEGIN
INSERT INTO tblParameterKey VALUES(NULLIF(''' + [keyNames]+''', 'NULL') AS NVARCHAR(255))
END'
FROM tblParameterKey
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.