SQL值包含换行符?

时间:2013-10-18 09:46:24

标签: .net sql

请参阅下面的DDL:

CREATE TABLE SQLTestTable (sqltest VARCHAR(100))

INSERT INTO SQLTestTable (sqltest) values ('INSERT INTO Person VALUES (''SELECT * FROM PERSON --THIS IS A TEST WHERE ID=1'')')

INSERT INTO SQLTestTable (sqltest) values ('INSERT INTO Person VALUES (
''SELECT * FROM --THIS IS A TEST 
PERSON WHERE ID=1'')')

请注意,在第一个INSERT语句中,它全部在一行上,而在INSERT语句中,它不是。如果我将sqltest值提取到SQLCommand.CommandText并执行SQLCommand,那么它适用于第二个插入但不适用于第一个,即它不适用于第一个,因为注释会导致语法错误。第二次插入是否以某种方式存储在数据库中的换行符?

2 个答案:

答案 0 :(得分:1)

换行符存储在数据库中。可能是回车后跟换线。 (ASCII符号10和13)。

答案 1 :(得分:0)

如果您想删除新行字符和制表符,请使用以下查询:

REPLACE(REPLACE(REPLACE(column_name, CHAR(13) + CHAR(10), ''), CHAR(13), ''), CHAR(10), '')