mysql lengthb_SQL函数——LENGTH()和LENGTHB()

LENGTH()函数是比较简单同时也是非常有用的一个函数,在此小记一下,加深印象以备后用!

1:先上实验的例子——我新建了一张Student表,插入了若干条测试数据,如下图所示:

2488292eb850e975c43c8396866d7621.png

2:实验LENGTH()函数

5445000209fe39c0a8969555a8753524.png

3:实验LENGTHB()函数

d5878ef72f422beb6a51c34c6a9653a7.png

解释一:此处的LENGTH()函数用于获取对应字段的字符长度

解释二:此处的LENGTHB()函数用于获取对应字段的字节长度

解释三:ORACLE安装好后默认的NLS_DATE_FORMAT参数值为DD-MON-RR

9c3dbdc12e61d8bbb2ab3f14856e0029.png

OK,上面的两个函数和对应的实验结果已做了相应的解释,得出了一个使用的小技巧:

可以使用LENGTH(‘STRING’)与LENGTHB(‘STRING’)是否相等,来判断字符串中否含有中文!

当然,也可用来过滤一定长度的字段的数据!

以下是需要稍微注意点的地方:

1:使用双引号引用且使用LENGTH()或LENGTHB()时报错,而使用单引号且使用这两个函数时返回NULL

bd569881ac7fd864224d704f824e141b.png

99a9fd1592bd38ebf059baa2670b0974.png

d32aa453c2a07a6cd34feccfbc7567e7.png

e554fc36ee63a1cc050552ff44877dc7.png

2:当使用单引号且字符为空时,使用LENGTH()或LENGTHB()这两个函数,则返回空字符的个数,所以使用这两个函数之前最好先使用TRIM()函数过滤一下

bcfcda162f508eb5fb8a4eeacba3a309.png

eddb804f62c7b6a0f7976cc4394e0032.png

309fd5a4cc8ffed93260afc03ce995b0.png

c6a6148a2597e113b80d2d50ebd9b6e9.png

3:使用这个简单的SQL语句来展示DD-MON-RR是什么时间格式

9d5b2a36e9bd34020eff8244935b6469.png

4:对于不同的数据库,由于字符集的不同,LENGTHB得到的值可能不一样。比如:AMERICAN_AMERICA.AL32UTF8是使用三个字节来定义一个汉字的!

b7c1437f2005676171dc42fc14bf1687.png

1d60dfab34e15b9acb77791952bb36cd.png

fac2ea9d8367680a998cc6c26244dac0.png

5:字符与字节(源自百度百科)

字节(Byte)是计算机信息技术用于计量存储容量和传输容量的一种计量单位,一个字节等于8位二进制数,在UTF-8编码中,一个英文字符等于一个字节,一个汉字字符储存需要3到4个字节。字节是计算机中存储数据的单元,一个8位的二进制数,是一个很具体的存储空间。0x01, 0x45, 0xFA……

参考如下:

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值