You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

SQL特殊字符存储问题:SQL Server变量赋值报错求助

嘿,这个问题我太懂了!你在SQL Server里存带特殊字符的字符串时报错,主要是两个小细节没处理好——单引号的写法和Unicode字符的识别,我给你一步步说清楚:

解决SQL Server存储含特殊字符字符串的报错问题
  • 为啥报错?
    你原来的语句里单引号用错了(开头结尾各写了两个单引号),而且没给Unicode字符串加N前缀,导致SQL Server没法正确解析那些特殊符号,直接触发语法错误了。

  • 正确的写法在这里
    要存储˗ˏˋmichaelˎˊ˗这个字符串,直接用下面的SQL语句就行:

    DECLARE @string nvarchar(max)
    SET @string = N'˗ˏˋmichaelˎˊ˗'
    

    嫌麻烦的话,还可以用更简洁的赋值方式:

    DECLARE @string nvarchar(max) = N'˗ˏˋmichaelˎˊ˗'
    
  • 两个必知的关键细节

    • 一定要加N前缀:因为你用的是nvarchar(max)这种Unicode字符类型,加N是告诉SQL Server“这是个Unicode字符串”,那些特殊的Unicode符号(比如˗、ˋ这类)才能被正确存储和读取,不会乱码或者报错。
    • 单引号的转义技巧:如果你的字符串里本身包含单引号(比如michael's),得把单引号写成两个才行,比如:
      DECLARE @string nvarchar(max) = N'˗ˏˋmichael''sˎˊ˗'
      

内容的提问来源于stack exchange,提问作者Waleed Ali

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 04:49:52