请参阅下面的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,那么它适用于第二个插入但不适用于第一个,即它不适用于第一个,因为注释会导致语法错误。第二次插入是否以某种方式存储在数据库中的换行符?
答案 0 :(得分:1)
换行符存储在数据库中。可能是回车后跟换线。 (ASCII符号10和13)。
答案 1 :(得分:0)
如果您想删除新行字符和制表符,请使用以下查询:
REPLACE(REPLACE(REPLACE(column_name, CHAR(13) + CHAR(10), ''), CHAR(13), ''), CHAR(10), '')