SQL语言学习随手记——numeric、char、varchar、nvarchar字段类型

本文介绍了SQL中的数据类型,重点讲解了numeric、char、varchar和nvarchar的区别与用法。numeric允许用户指定精度,char用于存储固定长度的字符串,varchar则可变长度,比较char类型时可能会因为空格导致不一致的结果,而nvarchar则用于存储Unicode多语言数据。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

数据类型 numeric

numeric(p,d):定点数,精度由用户指定。这个数有P位数字(加上一个符号位),其中d位数字在小数点右边。所以在一个这种类型的字段上,numeric(3,1)可以精确储存44.5,但不能精确存储444.5或0.32这样的数。


数据类型 char varchar

char 数据类型存放固定长度的字符串。例如,属性A的类型是char(10)。如果我们为此属性存入字符串“Avi”,那么该字符串后会追加7个空格来使其达到10个字符的串长度。反之,如果属性B的类型是varcha(10),我们在属性B中存入字符串“Avi”,则不会增加空格。

  当比较两个char类型的值时,如果它们的长度不同,在比较之前会自动在短值后面加上额外的空格以使它们的长度一致。

  当比较一个char类型和一个varchar类型的时候,也许读者会期望在比较之前会自动在varchar类型后面加上额外的空格以使长度一致;然而,这种情况可能发生也可能不发生,这取决于数据库系统。其结果是,即便上述属性A和B中存放时相同的值“Avi”,A=B的比较也可能返回假。我们建议始终使用varchar类型而不是char类型来避免这样的问题。

  SQL也提供nvarchar类型来存放使用Unicode标识的多语言数据。

  

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值