合 Oracle中如何判断一个字符串是否含有汉字
前言部分
导读
各位技术爱好者,看完本文后,你可以掌握如下的技能,也可以学到一些其它你所不知道的知识,\~O(∩_∩)O\~:
①全角字符的判断,或者是含有汉字的字符串的判断
实验环境介绍
11.2.0.3 RHEL6.5
本文简介
看到网友问,怎么查询表中某个字段数据是不是包含了全角字符啊? 这个问题涉及到几个函数:to_single_byte、length和lengthb,我之前做开发的时候研究的是如何判断一个字符串中是否包含中文,其实和这个本质是一样的,且看实验部分。
实验部分
lengthb和length函数结合to_single_byte函数
---含有汉字,严格的说是含有全角字符
1 2 3 4 5 6 | SELECT l.name, length(l.name), lengthb(l.name) FROM xb_link l WHERE length(l.name) != lengthb(l.name) AND length(l.name) < 20; |