是否可以在SQL Server中保存多行varchar?
DECLARE @SQL VARCHAR(256)
SELECT @SQL = 'SELECT
ID, Name
FROM
Cust'
INSERT INTO
MultiLineTBL (SQL)
VALUES
(@SQL)
所以这个查询:
SELECT SQL From MultiLineTBL
将返回:
SELECT
ID, Name
FROM
Cust
不是直线:
SELECT ID, NAME FROM Cust
如何存储多行varchar?
答案 0 :(得分:0)
您的sql查询语法错误:
DECLARE @SQL VARCHAR(256) ;
--please update query like that
set @SQL = 'insert into MultiLineTBL(col1,col2)
SELECT ID, Name FROM Cust';
--and execure like that:
exec(@SQL);
答案 1 :(得分:0)
是的,可以在表格中存储多行varchar
。实际上,示例中的值正确存储。
作为AlexK has correctly commented,当SQL Server Management Studio配置为在网格中返回结果时,多行值不能正确显示,并且(在网格中查看结果)必须是给您的错误的印象。根据我的观察,SSMS用这种显示模式中的空格替换每个控制字符,包括CR(CHAR(13)
)和LF(CHAR(10)
)。
在运行查询之前尝试切换到Results to Text
( Ctrl + T ),您会看到实际上保留了行分隔符。