LENGTH()函数是比较简单同时也是非常有用的一个函数,在此小记一下,加深印象以备后用!
1:先上实验的例子——我新建了一张Student表,插入了若干条测试数据,如下图所示:
2:实验LENGTH()函数
3:实验LENGTHB()函数
解释一:此处的LENGTH()函数用于获取对应字段的字符长度
解释二:此处的LENGTHB()函数用于获取对应字段的字节长度
解释三:ORACLE安装好后默认的NLS_DATE_FORMAT参数值为DD-MON-RR
OK,上面的两个函数和对应的实验结果已做了相应的解释,得出了一个使用的小技巧:
可以使用LENGTH(‘STRING’)与LENGTHB(‘STRING’)是否相等,来判断字符串中否含有中文!
当然,也可用来过滤一定长度的字段的数据!
以下是需要稍微注意点的地方:
1:使用双引号引用且使用LENGTH()或LENGTHB()时报错,而使用单引号且使用这两个函数时返回NULL
2:当使用单引号且字符为空时,使用LENGTH()或LENGTHB()这两个函数,则返回空字符的个数,所以使用这两个函数之前最好先使用TRIM()函数过滤一下
3:使用这个简单的SQL语句来展示DD-MON-RR是什么时间格式
4:对于不同的数据库,由于字符集的不同,LENGTHB得到的值可能不一样。比如:AMERICAN_AMERICA.AL32UTF8是使用三个字节来定义一个汉字的!
5:字符与字节(源自百度百科)
是人们使用的记号,抽象意义上的一个。 '1', '中', 'a', '$', '¥' ……
字节(Byte)是用于计量存储容量和传输容量的一种计量单位,一个字节等于8位,在UTF-8编码中,一个英文等于一个字节,一个汉字字符储存需要3到4个字节。字节是中存储数据的单元,一个8位的,是一个很具体的。0x01, 0x45, 0xFA……
参考如下:
1:
2:
3:
4:
5: