Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 为什么SELECT语句中的字符串连接不起作用?_Sql_Sql Server_Tsql - Fatal编程技术网

Sql 为什么SELECT语句中的字符串连接不起作用?

Sql 为什么SELECT语句中的字符串连接不起作用?,sql,sql-server,tsql,Sql,Sql Server,Tsql,我对表格有个疑问 SELECT '(''' + SomeVarCharColumn + ''',' + CONVERT(NVARCHAR(MAX), SomeIntColumn) + ',' + CONVERT(NVARCHAR(MAX), SomeOtherIntColumn) + ')' FROM SomeTable 所有结果都是NULL。知道我哪里出错了吗?null+1是null null+

我对表格有个疑问

SELECT '(''' + 
       SomeVarCharColumn + 
       ''',' + 
       CONVERT(NVARCHAR(MAX), SomeIntColumn) + 
       ',' + 
       CONVERT(NVARCHAR(MAX), SomeOtherIntColumn) 
       + ')' 
FROM SomeTable

所有结果都是
NULL
。知道我哪里出错了吗?

null+1
null

null+“东西”
null

请尝试以下方法:

select '('''
    + isnull(somevarcharcolumn,'')
    + ''','
    + isnull(convert(nvarchar(max), someintcolumn),'null')
    + ','
    + isnull(convert(nvarchar(max), someotherintcolumn),'null')
    + ')' 
from sometable

null+1
null

null+“东西”
null

请尝试以下方法:

select '('''
    + isnull(somevarcharcolumn,'')
    + ''','
    + isnull(convert(nvarchar(max), someintcolumn),'null')
    + ','
    + isnull(convert(nvarchar(max), someotherintcolumn),'null')
    + ')' 
from sometable

如果任何列为
NULL
,则该值为
NULL
。使用
合并()


如果任何列为
NULL
,则该值为
NULL
。使用
合并()

使用CONCAT()函数。当遇到空值时,只需从结果字符串中忽略它们。此外,int-to-char转换是隐式的,不需要转换,您可以在这里找到隐式转换图表

使用CONCAT()函数。当遇到空值时,只需从结果字符串中忽略它们。此外,int-to-char转换是隐式的,不需要转换,您可以在这里找到隐式转换图表


也许您的一个或多个值中有空值。String+null=null可能您的一个或多个值中有null。String+null=null
SELECT 
    CONCAT('(''',SomeVarCharColumn,''',',SomeIntColumn,',',SomeOtherIntColumn,')') AS NewVarchar
FROM SomeTable