核心思想在于下面几个模式的组合使用:

%[0-9]% :

所有数字

%[A-Za-z]%:所有字母

%[吖-咗]%:所有汉字

1. 去除汉字(字母、数字):

举出一例,其他类似:CREATE FUNCTION f_RemoveChinese

(

@str VARCHAR(500)

)

RETURNS VARCHAR(500)

AS

BEGIN

-- '%[0-9]%' 所有數字

-- '%[A-Za-z]%' 所有字母

-- '%[A-Za-z0-9]%' 所有數字與字母

-- .... 組合使用,依此類推

WHILE PATINDEX('%[吖-咗]%',@str) > 0

SET @str = STUFF(@str,PATINDEX('%[吖-咗]%',@str),1,'')

RETURN @str

END

GO

SELECT dbo.f_RemoveChinese('愛@@情123騙子我問@@你') -- @@123@@

2. 提取汉字(字母、数字):

提取XX可转化为去除非XX 。

举出一例,其他类似CREATE FUNCTION f_getChinese

(

@str VARCHAR(500)

)

RETURNS VARCHAR(500)

AS

BEGIN

-- '%[^0-9]%' 所有數字

-- '%[^A-Za-z]%' 所有字母

-- '%[^A-Za-z0-9]%' 所有數字與字母

-- .... 組合使用,依此類推

WHILE PATINDEX('%[^吖-咗]%',@str) > 0

SET @str = STUFF(@str,PATINDEX('%[^吖-咗]%',@str),1,'')

RETURN @str

END

GO

SELECT dbo.f_getChinese('愛@@情123騙子我問@@你') -- 愛情騙子我問你

3. 提取数字(支持小数点):

上面的代码将模式直接换成'%[^0-9]%'的话,不支持带小数点的数字,下面给出一个修正的:

-- 提取所有漢字(字母、數字)

CREATE FUNCTION f_GetNum

(

@str VARCHAR(500)

)

RETURNS VARCHAR(500)

AS

BEGIN

-- get num and dot

WHILE (PATINDEX('%[^0-9.]%',@str) > 0)

SET @str = STUFF(@str,PATINDEX('%[^0-9.]%',@str),1,'')

-- remove left dot

WHILE(LEFT(@str,1)='.')

SET @str = RIGHT(@str,LEN(@str)-1)

-- remove right dot

WHILE(RIGHT(@str,1)='.')

SET @str = LEFT(@str,LEN(@str)-1)

RETURN @str

END

GO

SELECT dbo.f_GetNum('愛@@..情1.23騙子我問...@@你') -- 1.23

mysql去除输入的字符串中的中文_Sql得到(去除)字符串中所有汉字,字母,数字的函数...相关推荐

  1. linux非图形化界面,在Linux图形界面中显示中文,非图形界面中,显示英文

    在Linux图形界面中显示中文,非图形界面中,显示英文 设置语言,应当改环境变量LANG 1. 在非Xwindow下显示英文.非Xwindow下不能显示中文汉字,如果设置成中文,则中文部分显示乱码,第 ...

  2. mysql得到中文的拼音_在MySQL中获取中文的拼音或转换中文替拼音

    在MySQL中获取中文的拼音或转换中文为拼音 MySQL ------------------------------------- 分页:select * from xxx limit 0,10 ? ...

  3. sql删除表中重复记录_SQL从SQL表中删除重复行的不同方法

    sql删除表中重复记录 This article explains the process of performing SQL delete activity for duplicate rows f ...

  4. qt接收服务器信息中文乱码,在qt提取lineedit中的中文字符串,通过tcp通信时,服务器接收乱码的情况,解决办法...

    使用的是qt5.9版本,在取lineedit中的中文字符转成字符串,后转成char*的过程中,在仅仅使用string str.tolocal8bit,是不起作用的,转换不了格式,输出的char*数组还 ...

  5. 正则表达式 - 去掉乱码字符/提取字符串中的中文字符/提取字符串中的大小写字母 - Python代码

    目录 1.乱码符号种类较少,用replace() 2.乱码字符种类较多,用re.sub() 3.提取字符串中的中文字符 4.提取字符串中的中文字符和数字 5.提取其他 数据清洗的时候一大烦恼就是数据中 ...

  6. python 去除字符串内的中文字符

    主要用re.sub,直接间代码: import recls='1苹果' print(cls) cls_idx = re.sub('[\u4e00-\u9fa5]', '', cls) # 去除字符串之 ...

  7. Java通过正则剔除乱码_正则表达式 - 去掉乱码字符/提取字符串中的中文字符/提取字符串中的大小写字母 - Python代码...

    目录 1.乱码符号种类较少,用replace() 2.乱码字符种类较多,用re.sub() 3.提取字符串中的中文字符 4.提取字符串中的中文字符和数字 5.提取其他 数据清洗的时候一大烦恼就是数据中 ...

  8. wine中解决中文字体问题

    Wine的中文显示与字体设置 此页由Henry Hu于2013年12月10日 (星期二) 03:28的最后更改. 在linuxCook和陆峰和Linux Wiki用户Chenxing的工作基础上. ( ...

  9. 在PHP中生成随机的字母数字字符串

    首先,让我说几乎没有事件是真正随机的. 如果我们知道所涉及的每个因素(例如空气摩擦,重力和初始力)的影响,那么即使从理论上讲,经典的抛硬币的结果也可以预测. 同样的情况适用于随机数和字母数字字符串的生 ...

最新文章

  1. 怎样用c语言写高速超速罚款标准,pta高速公路超速处罚(C语言)
  2. 配置管理之PackageProvider接口
  3. magento mysql4-install_Magento
  4. Buffer Pool--内存总结1
  5. JAVA中构造器和方法的区别点
  6. mysql 统计 邮箱_mysql查询之 连续出现的数字,重复出现的邮箱,删除重复的电子邮箱...
  7. 机器人网首页应用实例工业自动化 EtherCAT 技术在库卡机器人控制系统上的应用
  8. c java 开发效率高_Java 的开发效率究竟比 C++ 高在哪里?
  9. 阿里技术:如何画出一张合格的技术架构图?
  10. jdk的安装及环境变量的配置
  11. 对接第三方顺丰丰桥电子面单打印接口教程
  12. 计算机boot进入u盘启动,BIOS中设置U盘启动的几种方法
  13. 解决屏幕大小不一导致页面下方出现多余空白的问题
  14. 3Dmax与BIM模型的区别
  15. 126邮箱自动登录程序
  16. 系统安全检测(使用John进行密码破解)
  17. 严蔚敏数据结构c++版微盘_数据结构复习知识点总结
  18. 【沧小海笔记】之基于FPGA的以太网设计相关知识——第三章 xilinx 三速以太网IP核(TEMAC)的介绍
  19. Android毕业设计答辩会问什么问题,毕业论文答辩一般会问什么问题怎么回答
  20. 宝马将自动驾驶和打车服务结合,最快明年在德国上路

热门文章

  1. 安装VM虚拟机提示 尝试创建目录 C:\Public\documents\SharedVirtual Machines 时发生错误解决方法
  2. C# 中串口通信 serialport1.DataReceived 函数无法触发或者出发延时等等问题解决方法
  3. PHP 利用PHPExcel到处数据到Excel;还有导出数据乱码的解决方案。
  4. mysql-8.0.17解压版安装步骤及MySQL服务无法启动问题的解决办法
  5. 微服务架构及分布式事务解决方案
  6. 如何将现有的回调API转换为Promise?
  7. 向现有对象实例添加方法
  8. 如何检查字符串是否包含特定单词?
  9. es6学习---.babelrc文件
  10. 【C#】关闭 Window 之后,无法设置 Visibility,也无法调用 Show、ShowDialogor 或 WindowInteropHelper.EnsureHandle...