1

请参阅下面的 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,那么它适用于第二次插入,但不适用于第一次,即它不适用于第一次,因为注释会导致语法错误。换行是否以某种方式存储在数据库中以用于第二次插入?

4

2 回答 2

1

The line feeds gets stored in the database. Probably as carriage return followed by line feed. (ASCII symbol 10 and 13).

于 2013-10-18T09:57:12.973 回答
0

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

REPLACE(REPLACE(REPLACE(column_name, CHAR(13) + CHAR(10), ''), CHAR(13), ''), CHAR(10), '')
于 2013-10-18T10:00:02.283 回答