回答

收藏

如何在SQL Server中转义单引号?

技术问答 技术问答 99 人阅读 | 0 人回复 | 2023-09-13

我正在尝试将insert一些文本数据放入SQL Server9中的表中。
; ?$ [& n# U& Q" h文本包含一个单引号(’)。
2 n! x) a2 f* C: r3 c我该如何逃避呢?
8 `* E6 [. H# R  W# }7 \我尝试使用两个单引号,但是这给我带来了一些错误。
# b; E, H& p( t4 c6 A例如。 insert into my_table values('hi, my name''s tim.');
1 r( I9 `3 {7 d: J                - t, H( l" p) Q- A7 D
解决方案:
5 Z7 J2 T# k+ Q9 I! P                * p8 n) f1 |/ ^& C* \5 S

4 E5 t! Y) [6 S" P- I/ w
& m! x. k# A, Q                *就像您在示例中向我们展示的一样, *通过将单引号加倍将其转义 。以下SQL说明了此功能。我在SQL Server 2008上对其进行了测试:
# r$ ?: ?+ R: C6 p/ rDECLARE @my_table TABLE (1 ^& a, Q3 E/ c6 M7 l5 Z/ k) D1 R6 |
    [value] VARCHAR(200)
3 y& M& w% i+ x9 Z9 W7 a' _' r)
  Q. M* j  p$ ]4 e! [INSERT INTO @my_table VALUES ('hi, my name''s tim.')
# X) V5 w8 }4 I) hSELECT * FROM @my_table. f. I7 r& y" u  ^7 b' g% k6 [2 A9 O
结果
7 F; s; @& ?& m% C# {, Vvalue2 @* C* e) @" K+ _: N( y
==================( L7 p3 r( E; g1 G
hi, my name's tim.
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则