SQL如何提取字符串中的中文和数字?
16lz
2021-03-10
SQL专栏
SQL数据库基础知识汇总
SQL数据库高级知识汇总
前天写了篇《SQL如何提取字符串中的字母?》,今天再教大家如何提取中文和数字。
其实方法都是类似的,只是我们需要调整一下正则表达式而已。
提取数字
我们还是创建一个自定义函数,具体代码如下:
CREATE FUNCTION DBO.GET_NUMBER(@Str VARCHAR(100))RETURNS VARCHAR(100)ASBEGINWHILE PATINDEX('%[^0-9]%',@Str) > 0BEGIN SET @Str=stuff(@Str,PATINDEX('%[^0-9]%',@Str),1,'')ENDRETURN @StrENDGO
测试自定义函数
SELECT dbo.GET_NUMBER('SQL数1据2库3开4发5')
结果:
提取中文字符
从提取字母和数字中,不知大家是否看出规律来了,就是在使用PATINDX函数时,后面第一个参数会相应的改变。字母的是[a-z],数字的是[0-9],那中文的是什么呢?看下面的代码
CREATE FUNCTION DBO.GET_CHINESE(@Str NVARCHAR(100))RETURNS VARCHAR(100)ASBEGINWHILE PATINDEX('%[^吖-座]%',@Str) > 0SET @Str = STUFF(@Str,PATINDEX('%[^吖-座]%',@Str),1,N'')RETURN @StrENDGO
测试自定义函数
SELECT dbo.GET_CHINESE('SQL数1据2库3开4发5')
结果:
以上就是今天要讲的内容了,觉得不错,欢迎分享给周围的朋友,谢谢~
©著作权归作者所有:来自51CTO博客作者mb5fd8698f60f87的原创作品,如需转载,请注明出处,否则将追究法律责任更多相关文章
- Excel重大更新,VLOOKUP退役,新的搜索函数上线
- 如何使用Excel快速生成随机数据,你肯定想不到
- Excel提取中文,数字和字母,一分钟搞定!
- 如果你没用过Excel快速填充,你绝对不知道它有多牛!
- C++入门第一课(命名空间;输入输出;缺省参数;函数重载)
- python实现域名解析
- 子类初始化父类的二种方法
- python获取文件md5
- C语言学习第八天【函数递归】