永发信息网

sql 提取数字、字母、汉字

答案:1  悬赏:60  手机版
解决时间 2021-06-05 06:15

一个字符串,如“散分as123的45sss”

我怎么能把汉字 数字 以及字符分离开

如:1、12345

2、散分的

3、assss

最佳答案
--提取数字
IF OBJECT_ID('DBO.GET_NUMBER2') IS NOT NULL
DROP FUNCTION DBO.GET_NUMBER2
GO
CREATE FUNCTION DBO.GET_NUMBER2(@S VARCHAr(100))
RETURNS VARCHAr(100)
AS
BEGIN
WHILE PATINDEX('%[^0-9]%',@S) > 0
BEGIN
set @s=stuff(@s,patindex('%[^0-9]%',@s),1,'')
END
RETURN @S
END
GO
--测试
PRINT DBO.GET_NUMBER('呵呵ABC123ABC')
GO
--123
--------------------------------------------------------------------
--提取英文
IF OBJECT_ID('DBO.GET_STR') IS NOT NULL
DROP FUNCTION DBO.GET_STR
GO
CREATE FUNCTION DBO.GET_STR(@S VARCHAr(100))
RETURNS VARCHAr(100)
AS
BEGIN
WHILE PATINDEX('%[^a-z]%',@S) > 0
BEGIN
set @s=stuff(@s,patindex('%[^a-z]%',@s),1,'')
END
RETURN @S
END
GO
--测试
PRINT DBO.GET_STR('呵呵ABC123ABC')
GO
--------------------------------------------------------------------
--提取中文
IF OBJECT_ID('DBO.CHINA_STR') IS NOT NULL
DROP FUNCTION DBO.CHINA_STR
GO
CREATE FUNCTION DBO.CHINA_STR(@S NVARCHAr(100))
RETURNS VARCHAr(100)
AS
BEGIN
WHILE PATINDEX('%[^吖-座]%',@S) > 0
SET @S = STUFF(@S,PATINDEX('%[^吖-咗]%',@S),1,N'')
RETURN @S
END
GO
PRINT DBO.CHINA_STR('呵呵ABC123ABC')
GO
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
谁能告诉我申诉的全过程?
求校园侠医全本
再CBG卖梦幻币是摆上去就扣钱还是卖了才扣
现在还能找到好女孩吗
手机QQ2009S60v2版的?
求手机电影《铜铁侠》的下载地址
武冈市邵阳怀仁大药房(乐洋路店)我想知道这个
我的财产密码不对了怎么办
诺基亚N78支持变焦吗?
晓组织中角都单挑能不能挑过蝎?
初一英语没学好,现在上初二了,想学好英语该
你那个5310的签名和工具给我用用吧.
没有音乐我会死吗?
新邵县邵阳秀英饭店地址有谁知道?有点事想过
帮我想想怎样形容这些词语
推荐资讯
什么英语歌很好听?
甲流的预防。
怎么预防乳腺增生
鹿邑县周口澳柯玛电动车(紫气大道)地址是什么
怎样才能要我爱的女人爱我?
探索未知事?
dorermon是什么意思?
人教版九年级英语7-10单元重点语法归类
小白兔(动物)
OPPOA103怎么分辨真假?
笔记本上无线网网卡怎么用
日历表2009年阴历什么时候是三合
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?