因为email地址是字符,而varchar2就是存储字符类型的。
1、创建测试表:
1
2
3
4
create table test
(id int,
name varchar2(10),
email varchar2(50))
其中varchar2(50)中的50为长度,可以适当扩展。
2、插入数据:
1
2
insert into test values (1,'张三','zhangsan@aaa.com')
commit
3、结果:
SQL下面没有设置这种类型,额基本上我没发现那种语言有这种数据类型设置。如果有邮箱地址的字段的话,可以用字符串类型,char
varchar等。可以通过check约束或者加上触发器等限制字段里面必须存在“@”和“.”
VARCHAR。长度一般设为50。
VARCHAR:存储变长数据,其长度不超过 8KB。存储效率没有CHAR高。
如果一个字段可能的值是不固定长度的,但是知道这个字段是不可能超过10个字符,那么把它定义为 VARCHAR(10)。
Varchar 对每个英文(ASCII)字符都占用2个字节,对一个汉字也只占用两个字节。
VARCHAR类型的实际长度是它的值的实际长度+1。因为VARCHAR字段的长度是不固定的,所以这一个字节用于保存实际使用了多大的长度。
扩展资料:
char:存储定长数据,CHAR字段上的索引效率级高。其长度最多为 8KB。超过8KB的ASCII 数据可以使用Text 数据类型存储。
比如定义char(10),那么不论你存储的数据是否达到了10个字节,都要占去10个字节的空间,不足的自动用空格填充。
所以,从空间上考虑,用varchar合适;从效率上考虑,用char合适,关键是根据实际情况找到权衡点。
char 对英文(ASCII)字符占用1个字节,对一个汉字占用2个字节。
TEXT:存储可变长度的非Unicode数据,最大长度为2^31-1(2,147,483,647)个字符。
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)