如何查询中跨越多行的SQL字符串值?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (12)

我有一个SQL查询,它的值跨越多行,导致查询失败:

UPDATE User SET UserId=12345, Name="J Doe", Location="USA", Bio="I'm a
bio that has an apostrophe, and I'm 
spanning multiple lines!" 
WHERE UserId=12345

在C#中,可以将@在字符串之前Bio=@"..."为了让它跨越多行,但我不确定如何使用SQL查询实现相同的功能。如何使字符串跨多行而不必手动连接字符串:

Bio="I'm a"
+" bio that has an apostrophe, and I'm"
+" spanning multiple lines!" 
提问于
用户回答回答于

SQLServer允许以下操作(请小心使用单引号而不是双引号)

UPDATE User
SET UserId = 12345
   , Name = 'J Doe'
   , Location = 'USA'
   , Bio='my bio
spans 
multiple
lines!'
WHERE UserId = 12345
用户回答回答于

尝试使用单引号,这可能会产生不同的效果。这对我有用:

update table set mycolumn = 'hello world,
my name is carlos.
goodbye.'
where id = 1;

此外,如果要将SQL字符串连接在C#中,则可能需要检查单引号。因此,如果变量包含可以将代码从SQL语句中转义出来的单引号,则不执行您希望看到的所有行。

扫码关注云+社区