SQL server 数据库中关于 char nchar 数据类型的问题

2019-04-13 18:04:17 +08:00
 shawnLuo
小白,刚接触数据库。请问各位 V 友们一个问题

数据库中,nchar char 是定长,而 varchar nvarchar 为变长。nchar char 会有不足补英文空格的操作

但是我在在 SQL server 中用 LIKE 匹配字符串 J001 时,把这个列的数据类型设置为 nchar(10)时,查询无结果,按道理应该是设为 varchar 这种变长的数据类型才会有查询结果,但是我发现设置为 char(10)之后也能正确查询,这是什么原因呢?

似乎在 MySQL 中,把数据类型设为 nchar 时能正确查询,因为他把会默认转成 char 处理了

不过 nchar char 不都是定长吗,他们之间的处理有什么区别呢,不应该是转成 varchar 吗
1080 次点击
所在节点    问与答
1 条回复
d88365
2019-04-13 19:24:15 +08:00
存储字符集百度有呀,带 N 存储 Unicode 字符编码数据。
你数据库设定的字符集编码存储方式

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/554842

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX