SQL Server提取数字、英文以及中文的sql语句
发表于:2025-11-07 作者:千家信息网编辑
千家信息网最后更新 2025年11月07日,这篇文章主要讲解了"SQL Server提取数字、英文以及中文的sql语句",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"SQL Server提取数字、
千家信息网最后更新 2025年11月07日SQL Server提取数字、英文以及中文的sql语句
这篇文章主要讲解了"SQL Server提取数字、英文以及中文的sql语句",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"SQL Server提取数字、英文以及中文的sql语句"吧!
--SQL 判断字段值是否有中文create function fun_getCN(@str nvarchar(4000)) returns nvarchar(4000) as begin declare @word nchar(1),@CN nvarchar(4000) set @CN='' while len(@str)>0 begin set @word=left(@str,1) if unicode(@word) between 19968 and 19968+20901 set @CN=@CN+@word set @str=right(@str,len(@str)-1) end return @CN end select dbo.fun_getCN('ASDKG论坛KDL')--论坛select dbo.fun_getCN('ASDKG論壇KDL')--論壇select dbo.fun_getCN('ASDKDL')--空---------------------------------------提取数字IF OBJECT_ID('DBO.GET_NUMBER2') IS NOT NULLDROP FUNCTION DBO.GET_NUMBER2GOCREATE FUNCTION DBO.GET_NUMBER2(@S VARCHAR(100))RETURNS VARCHAR(100)ASBEGINWHILE PATINDEX('%[^0-9]%',@S) > 0BEGINset @s=stuff(@s,patindex('%[^0-9]%',@s),1,'')ENDRETURN @SENDGO--测试PRINT DBO.GET_NUMBER('呵呵ABC123ABC')GO--123----------------------------------------------------------------------提取英文IF OBJECT_ID('DBO.GET_STR') IS NOT NULLDROP FUNCTION DBO.GET_STRGOCREATE FUNCTION DBO.GET_STR(@S VARCHAR(100))RETURNS VARCHAR(100)ASBEGINWHILE PATINDEX('%[^a-z]%',@S) > 0BEGINset @s=stuff(@s,patindex('%[^a-z]%',@s),1,'')ENDRETURN @SENDGO--测试PRINT DBO.GET_STR('呵呵ABC123ABC')GO----------------------------------------------------------------------提取中文IF OBJECT_ID('DBO.CHINA_STR') IS NOT NULLDROP FUNCTION DBO.CHINA_STRGOCREATE FUNCTION DBO.CHINA_STR(@S NVARCHAR(100))RETURNS VARCHAR(100)ASBEGINWHILE PATINDEX('%[^吖-座]%',@S) > 0SET @S = STUFF(@S,PATINDEX('%[^吖-座]%',@S),1,N'')RETURN @SENDGOPRINT DBO.CHINA_STR('呵呵ABC123ABC')GO----------------------------------------------------------------------过滤重复字符IF OBJECT_ID('DBO.DISTINCT_STR') IS NOT NULLDROP FUNCTION DBO.DISTINCT_STRGOCREATE FUNCTION DBO.DISTINCT_STR(@S NVARCHAR(100),@SPLIT VARCHAR(50))RETURNS VARCHAR(100)ASBEGINIF @S IS NULL RETURN(NULL)DECLARE @NEW VARCHAR(50),@INDEX INT,@TEMP VARCHAR(50)IF LEFT(@S,1)<>@SPLITSET @S = @SPLIT+@SIF RIGHT(@S,1)<>@SPLITSET @S = @S+@SPLITWHILE CHARINDEX(@SPLIT,@S)>0 AND LEN(@S)<>1BEGINSET @INDEX = CHARINDEX(@SPLIT,@S)SET @TEMP = LEFT(@S,CHARINDEX(@SPLIT,@S,@INDEX+LEN(@SPLIT)))IF @NEW IS NULL SET @NEW = ISNULL(@NEW,'')+@TEMPELSESET @NEW = ISNULL(@NEW,'')+REPLACE(@TEMP,@SPLIT,'')+@SPLITWHILE CHARINDEX(@TEMP,@S)>0BEGINSET @S=STUFF(@S,CHARINDEX(@TEMP,@S)+LEN(@SPLIT),CHARINDEX(@SPLIT,@S,CHARINDEX(@TEMP,@S)+LEN(@SPLIT))-CHARINDEX(@TEMP,@S),'')ENDENDRETURN RIGHT(LEFT(@NEW,LEN(@NEW)-1),LEN(LEFT(@NEW,LEN(@NEW)-1))-1)ENDGOPRINT DBO.DISTINCT_STR('A,A,B,C,C,B,C,',',')--A,B,CGO----------------------------------------------------------------------过滤重复字符2IF OBJECT_ID('DBO.DISTINCT_STR2') IS NOT NULLDROP FUNCTION DBO.DISTINCT_STR2GOCREATE FUNCTION DBO.DISTINCT_STR2(@S varchar(8000))RETURNS VARCHAR(100)ASBEGINIF @S IS NULL RETURN(NULL)DECLARE @NEW VARCHAR(50),@INDEX INT,@TEMP VARCHAR(50)WHILE LEN(@S)>0BEGINSET @NEW=ISNULL(@NEW,'')+LEFT(@S,1)SET @S=REPLACE(@S,LEFT(@S,1),'')ENDRETURN @NEWENDGOSELECT DBO.DISTINCT_STR2('AABCCD')--ABCDGO--------------------------------------------------------------------IF OBJECT_ID('DBO.SPLIT_STR') IS NOT NULLDROP FUNCTION DBO.SPLIT_STRGOCREATE FUNCTION DBO.SPLIT_STR(@S varchar(8000), --包含多个数据项的字符串@INDEX int, --要获取的数据项的位置@SPLIT varchar(10) --数据分隔符)RETURNS VARCHAR(100)ASBEGINIF @S IS NULL RETURN(NULL)DECLARE @SPLITLEN intSELECT @SPLITLEN=LEN(@SPLIT+'A')-2WHILE @INDEX>1 AND CHARINDEX(@SPLIT,@S+@SPLIT)>0SELECT @INDEX=@INDEX-1,@S=STUFF(@S,1,CHARINDEX(@SPLIT,@S+@SPLIT)+@SPLITLEN,'')RETURN(ISNULL(LEFT(@S,CHARINDEX(@SPLIT,@S+@SPLIT)-1),''))ENDGOPRINT DBO.SPLIT_STR('AA|BB|CC',2,'|')--GO感谢各位的阅读,以上就是"SQL Server提取数字、英文以及中文的sql语句"的内容了,经过本文的学习后,相信大家对SQL Server提取数字、英文以及中文的sql语句这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是,小编将为大家推送更多相关知识点的文章,欢迎关注!
数字
中文
英文
语句
字符
数据
学习
内容
数据项
论坛
测试
位置
分隔符
多个
字段
字符串
就是
思路
情况
文章
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
网络安全伴我行手抄报
服务器管理网登不上
怎么用数据库做石头剪刀布
南通java软件开发项目
国企的软件开发能做到多少岁
网络安全管理三要素是什么
gp数据库磁盘满
黄豆瓣人影片数据库
吉林新一代软件开发参考价格
数据库插入多条
数据库如何分配角色
手机上的软件开发环境
安徽省软件开发专科学院
魔兽世界三区哪个服务器最好
30岁能学网络技术吗
什么是大数据数据库
修改 网站 数据库
云空间如何安装数据库
思迅商业之星v7重装数据库
湖北戴尔服务器虚拟化操作服务器
温州应用软件开发定做价格
软件开发实训实践目的
明文贺互联网科技有限公司
我的世界服务器账号密码不匹配
网络技术安全工程师待遇
mac连接svn服务器
网络安全从我做起评语
无法验证安全服务器的证书
明日之后旧服务器怎么不能进
扫码支付管理软件开发