如何在SQL Server中更新度分秒格式经纬度?解决查询失效问题
在SQL Server中更新度分秒格式经纬度的解决方法
你的UPDATE语句执行失败,核心原因是字符串中的单引号未正确转义——SQL Server用单引号作为字符串的边界标记,当字符串内容本身包含单引号时,必须用两个连续单引号('')来表示一个实际的单引号(')。
修正后的SQL语句
UPDATE [Tree_Monitoring_Philips].[dbo].[T_NumberOfTrees] SET [TreeLatitude] = '18°38''33.8352"', [TreeLongitude] = N'73°48''9.85"E' WHERE [ID] = 1
关键修正点
- 把原语句中
'18°38'33.8352"里的单个单引号'替换成两个连续单引号'',变成'18°38''33.8352"' - 同理,
N'73°48'9.85"E'调整为N'73°48''9.85"E',让SQL Server能正确识别字符串的起止边界
额外建议
- 如果是通过应用程序生成这类SQL,优先使用参数化查询,既能自动处理单引号转义,还能防范SQL注入风险
- 手动编写脚本时,务必检查所有包含单引号的字符串,统一用
''替换内容里的单个'
内容的提问来源于stack exchange,提问作者Harshal Patil
相关产品推荐
相关产品推荐

