在varchar中插入多行

时间:2014-09-29 08:48:27

标签: sql sql-server-2008-r2 multiline varchar

是否可以在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?

2 个答案:

答案 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 ),您会看到实际上保留了行分隔符。