在本教程中,将学习如何使用SQL Server NCHAR数据类型来存储固定长度的Unicode字符串数据。

要在数据库中存储固定长度的Unicode字符串数据,请使用SQL Server NCHAR数据类型:

NCHAR(n)

在此语法中,n指定字符串长度,范围从1到4000。 NCHAR值的存储大小是n个字节的两倍。

NCHAR的ISO同义词是NATIONAL CHAR和NATIONAL CHARACTER,因此可以互换使用它们。

与CHAR数据类型类似,只能使用NCHAR存储固定长度的字符串。如果数据值的长度是可变的,则应考虑使用VARCHAR或NVARCHAR数据类型。

CHAR与NCHAR比较

以下是CHAR和NCHAR数据类型之间的主要区别:

CHAR

NCHAR

仅存储非Unicode字符。

以UNICODE UCS-2字符的形式存储Unicode字符。

需要1个字节来存储一个字符。

需要2个字节来存储一个字符。

存储大小等于列定义或变量声明中指定的大小。

存储大小等于列定义或变量声明中指定的大小的两倍。

最多可存储8000个字符。

最多可存储4000个字符。

SQL Server NCHAR示例

以下语句是用来创建一个包含一个NCHAR列的新表:

CREATE TABLE test.sql_server_nchar (

val NCHAR(1) NOT NULL

);

以下INSERT语句将中文汉字:"易"插入NCHAR列:

INSERT INTO test.sql_server_nchar (val)

VALUES

(N'易');

请注意,必须在Unicode字符串常量前加上字母N前缀。否则,SQL Server会将字符串转换为数据库的默认代码页,这可能无法识别某些特定的Unicode字符。

如果插入长度大于列定义中指定长度的字符串,SQL Server将发出错误并终止该语句。

例如,以下语句尝试将包含两个字符的字符串插入test.sql_server_nchar表的val列中:

INSERT INTO test.sql_server_nchar (val)

VALUES

(N'易百');

SQL Server发出以下错误消息:

消息 8152,级别 16,状态 13,第 1 行

将截断字符串或二进制数据。

语句已终止。

要查找val列的字符数和字节数,可以使用LEN和DATALENGTH函数,如下所示:

SELECT

val,

len(val) length,

DATALENGTH(val) data_length

FROM

test.sql_server_nchar;

执行上面查询语句,得到以下结果:

在本教程中,学习了如何使用SQL Server NCHAR数据类型在数据库中存储固定长度的Unicode字符串。

¥ 我要打赏

纠错/补充

收藏

加QQ群啦,易百教程官方技术学习群

注意:建议每个人选自己的技术方向加群,同一个QQ最多限加 3 个群。

mysql server nchar_SQL Server NChar数据类型相关推荐

  1. mysql server nchar_SQL MS Access、MySQL 和 SQL Server 数据类型 | w3cschool菜鸟教程

    SQL 用于各种数据库的数据类型 Microsoft Access.MySQL 和 SQL Server 所使用的数据类型和范围. Microsoft Access 数据类型 数据类型 描述 存储 T ...

  2. mysql和sql server类型_SQL MS Access、MySQL 和 SQL Server 数据类型 - SQL 教程 - 自强学堂...

    SQL MS Access.MySQL 和 SQL Server 数据类型 Microsoft Access.MySQL 和 SQL Server 所使用的数据类型和范围. Microsoft Acc ...

  3. char* 大小_SQL Server中char, nchar, varchar和nvarchar数据类型有何区别

    当问及CHAR,VARCHAR,NCHAR和NVARCHAR这些数据类型之间的差异时,这个看似很简单,但有时您也会感到困惑. 要在数据库存储字符.数值和特殊字符可以使用这4种数据类型,那么这4种数据类 ...

  4. SQL Server 2008连载之数据类型

    SQL Server 2008连载之数据类型 精确数字类型 decimal[ (p[ , s] )] 和 numeric[ (p[ , s] )]也称为带固定精度和小数位数的数值数据类型. 固定精度和 ...

  5. 将Id相同的字段合并,并且以逗号隔开 (mysql、sql server)

    前言 作者目前是这么理解这个问题,如果有更好的想法,可在评论区留言.对于合并,要么是子连接(相对于一张表),又或者是多张表(可使用左连接或者右连接),当然这很常用.所以在使用前,必须先搞懂左右连接以及 ...

  6. mysql和sql server有什么区别?

    MySQL和SQL Server之间的区别: 1.开源 MySQL是一个开源关系数据库管理系统(RDBMS):而SQL Server不是开源的,是商业的. 2.开发语言不同 mysql:mysql能用 ...

  7. mysql 启动错误-server PID file could not be found

    2019独角兽企业重金招聘Python工程师标准>>> [root@centos var]# service mysqld stop MySQL manager or server ...

  8. Starting MySQL... ERROR! The server quit without updating PID file 问题解决

    Starting MySQL... ERROR! The server quit without updating PID file 问题解决 参考文章: (1)Starting MySQL... E ...

  9. 启动MySQL出错: Starting MySQL….. ERROR! The server quit with

    启动MySQL出错: Starting MySQL-.. ERROR! The server quit with (2013-02-19 17:25:17) 转载▼ 标签: mysql error m ...

最新文章

  1. C++和Python的OpenCV中关于图像坐标的注意事项
  2. 别怕,BCH无惧攻击
  3. 服务器上装了安全狗后远程链接不上怎么解决
  4. 如何避免面试中薪水要的太高或太低?
  5. Alpha版使用说明
  6. 怎么设置php的css颜色代码,CSS的文本字体颜色如何设置
  7. get\post常用参数使用说明
  8. 【实践】CTR预估在动态样式建模和特征表达学习方面的进展
  9. 去掉QQ2008的腾讯迷你首页和聊天时的广告
  10. 计算机学数字电子基础知识,什么是数字电路?数字电路基础知识
  11. 以色列宣布启动“创世纪2”号登月计划;我国粮食生产实现“十七连丰”丨科技新闻...
  12. 计算机桌面声音图标,win7桌面右下角的小喇叭音量图标不见了怎么办?
  13. java 匿名邮件_java开发邮件发送(匿名)
  14. linux下c使用lzma_linux 编译lzma
  15. python调用报表制作工具_Python如何使用xlwt制作一个表格
  16. iPhone12、iPhone12 Pro、iPhone12 Max、iPhone12 Pro Max 详细参数配置
  17. 什么是云原生?这回终于有人讲明白了
  18. 直追PD-1,癌症免疫新靶点CSF-1R药物研究进展综述
  19. 软件体系结构---基础知识点(2)
  20. 英语被动句中动词后可以接形容词吗

热门文章

  1. 7-20 棋盘覆盖 (10 分)
  2. 深度评测小米笔记本 Pro 14/15 增强版 2021款 怎么样
  3. java 八爪鱼API调取
  4. 2021年安全员-A证(山东省)考试及安全员-A证(山东省)考试技巧
  5. ntp服务器源码c语言,基于NTP服务器+ Ethernet智能手表(智能表源码+ Ethernet源码+3D打印)...
  6. 完全背包装满背包方案总数
  7. 什么是渲染农场,渲染农场一般怎么收费?
  8. 月薪3W的界面设计师都在用的设计软件
  9. iOS开发-智能嘘嘘扣项目总结(智能硬件开发)
  10. QQ邮箱拦截解决办法