我想問如何連接一個nvarchar
列與NULL
沒有得到NULL
?我想用SELECT
創建一個INSERT
腳本,但是當任何值爲NULL
時,我只能得到NULL
。Concat NULL與Varchar SQL Server 2008
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
當值不爲空時,此查詢將返回正確的insert inly。如果value爲null,則返回插入'NULL',這是不正確的,因爲它將作爲varchar插入,而不是作爲空值插入。如果我刪除'',整個結果將變爲空。
你能否在執行查詢之前檢查'keyNames'是否爲空? –
@JoshuaDuxbury如果我刪除它,整個結果將爲空。這是因爲+在數學和愚蠢的SQL服務器試圖將NULL添加到字符串的其餘部分,因此導致NULL。 – Nogi
我看到,是'keyNames'來自tblParamaterKey表嗎? –