如何选择sql字符串参数作为多行原始值
我有一个问题如下。当我使用select@sql时,它将字符串展平为1行。如何按原样选择原始字符串值如何选择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
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
或关于如何在早期版本中拆分字符串的众多相关问题之一)。