SQLSERVER中unicode字符

sy_flydream 2012-06-04 04:27:44
为什么有的sql语句前要加N,我查了下是:显式的将非unicode字符转成unicode字符,这样做的作用是什么?为什么要进行转换呢?请各位大侠帮忙说下!谢谢
...全文
404 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
lichao444555666 2012-06-05
  • 打赏
  • 举报
回复
防止乱码
sy_flydream 2012-06-05
  • 打赏
  • 举报
回复
从网页上传sql语句到数据库执行,有时候执行出来的结果里面会有乱码,这是什么问题哪?和这个乱码木关系么?
發糞塗牆 2012-06-04
  • 打赏
  • 举报
回复
n是代表unicode,这个主要用于你的应用程序需要支持国际语言,Unicode能存放目前所有语言。不然的话你存一个繁体都会乱码。但是n开头的数据类型存储空间是没有n的两倍,所以建议在需要的时候才使用。另外。在对n开头的所有操作,比如insert时的value里面、where子句中,都要加上N'xxx'这样的类型。
houyajin 2012-06-04
  • 打赏
  • 举报
回复
简单的理解就是防止出现乱码。加上没有坏处。
pt1314917 2012-06-04
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 的回复:]
防止乱码,在有中文的sql语句里面加N吗?是在从程序里面传到数据库里面执行的时候会出乱码么?net话是在ado.net传到数据库里面,中文会出乱码,所以加的N吗?
[/Quote]
数据库有不同的排序规则(可以理解为编码),我们通常使用的是简体中文。所以这个无所谓。
但在非简体中文排序规则下,存储中文时可能会变成乱码。。使用unicode和在前面加N主要是为了防止出现乱码。
bean_sql 2012-06-04
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 的回复:]

防止乱码,在有中文的sql语句里面加N吗?是在从程序里面传到数据库里面执行的时候会出乱码么?net话是在ado.net传到数据库里面,中文会出乱码,所以加的N吗?
[/Quote]
sy_flydream 2012-06-04
  • 打赏
  • 举报
回复
防止乱码,在有中文的sql语句里面加N吗?是在从程序里面传到数据库里面执行的时候会出乱码么?net话是在ado.net传到数据库里面,中文会出乱码,所以加的N吗?
Rotel-刘志东 2012-06-04
  • 打赏
  • 举报
回复
防止乱码?让支持中文。
Felixzhaowenzhong 2012-06-04
  • 打赏
  • 举报
回复
支持国际化客户端的数据库应始终使用 Unicode 数据
纯字符英语的 用 非 Unicode

最简单的就是 存放 汉字、韩文 等用 Unicode 。纯英文单词的或单个字符的用 非 Unicode

34,590

社区成员

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

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