Article ID: 164291 - View products that this article applies to.
This article was previously published under Q164291
Microsoft SQL Server identifies a Transact-SQL command containing the backslash (\) followed by the carriage return (0x0d) and line feed (0x0a) as an escape sequence.
The following example demonstrates the behavior:
strData ------------------------------ c:X c:\ X
The first insert contains the \<cr><lf> sequence, and when returned from SQL Server, is c:X. The escape sequence is scanned out by the SQL Server.
However, replacing the \<cr><lf> with \\<cr><lf><cr><lf>, as in the second insert, yields the expected results.
SQL Server sees the sequences \<cr><lf> (\ + 0d + 0a) and \<lf> (\ + 0a) as escape sequences.
To work around this problem, correct the Transact-SQL string, replacing the \<cr><lf> with \\<cr><lf><cr><lf> before sending the query to the SQL Server.