黑马程序员技术交流社区

标题: SQL中啥时候N [打印本页]

作者: 黑马丁巍    时间: 2012-12-14 15:16
标题: SQL中啥时候N
如题,请问大家有的时候需要在nvarchar()数据类型前加N ,有的时候不需要,请问这个N 代表着什么,什么时候需要加
作者: 马毅    时间: 2012-12-14 15:40
一般有中文的时候加N,防止乱码问题
作者: 马毅    时间: 2012-12-14 15:45
Mayi 发表于 2012-12-14 15:40
一般有中文的时候加N,防止乱码问题

其实主要还是存储的问题,英文占一个字节,而中文占两个字节,
作者: 马毅    时间: 2012-12-14 15:49
坑爹的网速啊....
总结一句~~加N后会改变存储的字符集,编程unicode~~
完了~~
作者: 王晨    时间: 2012-12-14 19:50
你好,我也是刚刚了解到这两个的区别:varchar(n)代表长度为 n 个字节的可变长度且非 Unicode 的字符数据。n 必须是一个介于 1 和 8,000 之间的数值。存储大小为输入数据的字节的实际长度,而不是 n 个字节。
而nvarchar(n)包含 n 个字符的可变长度 Unicode 字符数据。n 的值必须介于 1 与 4,000 之间。字节的存储大小是所输入字符个数的两倍。

作者: 张鹏飞    时间: 2012-12-14 20:04
varchar(n) 可变长 效率没char高 灵活 n 必须是一个介于 1 和 8,000 之间的数值。存储大小为输入数据的字节的实际长度,而不是 n 个字节.
nvarchar(n) 可变长 处理unicode数据类型(所有的字符使用两个字节表示) n 的值必须介于 1 与 4,000 之间。字节的存储大小是所输入字符个数的两倍。所输入的数据字符长度可以为零.

一般来说,如果含有中文字符,用nchar/nvarchar,如果纯英文和数字,用char/varchar





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2