【问题标题】:Inserting \n in sql table column在 sql 表列中插入 \n
【发布时间】:2011-12-05 10:12:01
【问题描述】:

我想在表格中插入一些代码。例如:

表:

create table  [tbl_cfg](
    [tabid] [int] IDENTITY(1,1) NOT NULL,
    cust_code nvarchar(max) NULL
    ) ON [PRIMARY]


Insert into tbl_cfg(cust_code)
select ' this is the first line
         this is the second line'

我的问题是,当我这样做时,sql 会自动对我的代码进行扁平化,即任何 \n 都被替换为空格。

如果我使用编辑前 200 行插入它并且我只是粘贴代码,则只插入第一行。

更新:

为了测试这个: 从 tbl_cfg 中选择 * 复制代码并将其粘贴到另一个窗口中

【问题讨论】:

  • 是什么让你说 SQL Server “扁平化”了文本?
  • 我解释过:任何\n都替换为空格
  • 这可能会有所帮助:stackoverflow.com/questions/2053793/…
  • 尝试使用 Char(10) 和 Char(13) 代替 \n

标签: sql sql-server sql-server-2008 tsql


【解决方案1】:

根据我对这个问题的经验:

\n 的字符串在 sql 表中仍然是原始格式,但是当您选择它时,它会显示在一行中。

但是,例如,如果您将字符串放入 html 代码中,您会看到 \n 仍然存在。

【讨论】:

  • +1 :永远不要假设演示格式 = 存储格式。始终使用其本机类型以编程方式检查值,而不是直观地检查。
【解决方案2】:
【解决方案3】:

那是因为您在文本模式下看不到结果。

查看此query 并查看选中和未选中“结果到文本”的结果。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-12-15
    • 2016-05-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-11-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多