Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/83.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字符串参数作为多行原始值_Sql_Sql Server_Database_Tsql - Fatal编程技术网

如何选择sql字符串参数作为多行原始值

如何选择sql字符串参数作为多行原始值,sql,sql-server,database,tsql,Sql,Sql Server,Database,Tsql,我有一个问题如下。当我使用select@sql时,它将字符串展平为1行。如何按原样选择原始字符串值 DECLARE @SQL VARCHAR(MAX)= 'SELECT A, B, C FROM X' SELECT @SQL 结果是: SELECT A, B, C FROM X 我需要的是: SELECT A, B, C FROM X 使用print命令: DECLARE @SQL VARCHAR(MAX)= 'SELECT A, B, C FROM X' prin

我有一个问题如下。当我使用select@sql时,它将字符串展平为1行。如何按原样选择原始字符串值

DECLARE @SQL VARCHAR(MAX)= 
'SELECT 
A,
B,
C
FROM X'

SELECT @SQL
结果是:

SELECT   A,  B,  C  FROM X
我需要的是:

SELECT 
A,
B,
C
FROM X

使用
print
命令:

DECLARE @SQL VARCHAR(MAX)= 
'SELECT 
A,
B,
C
FROM X'

print @sql

使用
print
命令:

DECLARE @SQL VARCHAR(MAX)= 
'SELECT 
A,
B,
C
FROM X'

print @sql

该变量不包含CRLFs。客户机(我猜是SSMS?)会删除它们

我不知道SSMS是否有在结果网格中显示CRLF的选项。但要在复制或保存结果时保留它们,可以选中“工具”->“选项…”->“查询结果”->“SQL Server”->“结果到网格”->“在复制或保存时保留CR/LF”


对于任何其他客户端,请查看其文档。

该变量确实包含CRLFs。客户机(我猜是SSMS?)会删除它们

我不知道SSMS是否有在结果网格中显示CRLF的选项。但要在复制或保存结果时保留它们,可以选中“工具”->“选项…”->“查询结果”->“SQL Server”->“结果到网格”->“在复制或保存时保留CR/LF”


对于任何其他客户机,请查看其文档。

结果看起来只有这样,因为您使用的是Management Studio。您将使用换行符返回结果。如果您切换“结果到文本”(Ctrl+T),您将获得原样的值。当然,如果您真的想将该值拆分为多个不同的行,那是另一回事(使用
STRING\u split
或关于如何在早期版本中拆分字符串的许多相关问题之一)。结果看起来是这样的,因为您使用的是Management Studio。您将使用换行符返回结果。如果您切换“结果到文本”(Ctrl+T),您将获得原样的值。当然,如果您真的想将该值拆分为多个不同的行,那是另一回事(使用
STRING\u split
或关于如何在早期版本中拆分字符串的众多相关问题之一)。