是否英文版的sql2005/8在对于中文的存储上对应的sql一定要N'value'来写呢?

BossFriday 2008-12-17 11:27:01
比如:update table set colum = N'中文值'

请问必须这样写才能保存存储到库中的值正确吗?直接set colum='xxx',
在中文情况下,为???
...全文
114 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
bluefangxiao 2008-12-17
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 wufeng4552 的回复:]
N是UNICODE編碼,不會亂碼
[/Quote]

如果字段类型是nvarchar,那么就得加N,不然就会出现‘?’
dawugui 2008-12-17
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 camelials 的回复:]
引用楼主 camelials 的帖子:
比如:update table set colum = N'中文值'

请问必须这样写才能保存存储到库中的值正确吗?直接set colum='xxx',
在中文情况下,为???

我知道,在中文版的sql直接set colum='中文值'是没有问题的.也能正确存储.
但是在英文版下,则需要加N''了.

我目前考虑,换掉数据库,由中文版的换到英文版,但是如果是这样,那么可能存在要修改所有sql的修改成本.
请问有没有一劳永逸的方法呢?
[/Quote]
那就全部加N
BossFriday 2008-12-17
  • 打赏
  • 举报
回复
[Quote=引用楼主 camelials 的帖子:]
比如:update table set colum = N'中文值'

请问必须这样写才能保存存储到库中的值正确吗?直接set colum='xxx',
在中文情况下,为???
[/Quote]
我知道,在中文版的sql直接set colum='中文值'是没有问题的.也能正确存储.
但是在英文版下,则需要加N''了.

我目前考虑,换掉数据库,由中文版的换到英文版,但是如果是这样,那么可能存在要修改所有sql的修改成本.
请问有没有一劳永逸的方法呢?
dawugui 2008-12-17
  • 打赏
  • 举报
回复
[Quote=引用楼主 camelials 的帖子:]
比如:update table set colum = N'中文值'

请问必须这样写才能保存存储到库中的值正确吗?直接set colum='xxx',
在中文情况下,为???
[/Quote]
建议这样做.
水族杰纶 2008-12-17
  • 打赏
  • 举报
回复
N是UNICODE編碼,不會亂碼
lao_bulls 2008-12-17
  • 打赏
  • 举报
回复
哦,原来N是这么意思。
tjg5202 2008-12-17
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 wufeng4552 的回复:]
N是UNICODE編碼,不會亂碼
[/Quote].......

34,587

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧