字符函数PATINDEX()与STUFF()
2024-10-07 16:08:05
函数 PATINDEX() STUFF() 取数字 英语 汉字
更多:http://msdn.microsoft.com/zh-cn/library/ms188395.aspx
PATINDEX()
返回模式在指定表达式中第一次出现的起始位置;如果在所有有效的文本和字符数据类型中都找不到该模式,则返回零。
语法:PATINDEX ( '%pattern%' , expression )
STUFF()
STUFF 函数将字符串插入到另一个字符串中。 它从第一个字符串的开始位置删除指定长度的字符;然后将第二个字符串插入到第一个字符串的开始位置。
语法 : STUFF ( character_expression , start , length , replaceWith_expression )
取数字
--创建
CREATE FUNCTION dbo.f_GetNumber(@StringWithNumber VARCHAR(100))
RETURNS VARCHAR(100)
AS
BEGIN
WHILE PATINDEX('%[^0-9]%', @StringWithNumber) > 0
BEGIN
SET @StringWithNumber = STUFF(@StringWithNumber,PATINDEX('%[^0-9]%',@StringWithNumber), 1,'');
END
RETURN @StringWithNumber
END
--测试,执行function的时候,dbo. 千万不能掉了
SELECT dbo.f_GetNumber('asdf464568asdf')
取字母
--创建
CREATE FUNCTION dbo.Get_String ( @String VARCHAR(100) )
RETURNS VARCHAR(100)
AS
BEGIN
WHILE PATINDEX('%[^a-z$]%', @String) > 0
BEGIN
SET @String = STUFF(@String, PATINDEX('%[^a-z]%', @String), 1,'') ;
END
RETURN @String
END --测试
SELECT dbo.Get_String('asdf464568asdf')
--取出中文
--取出中文
IF OBJECT_ID('dbo.GetChineseFromString') IS NOT NULL
DROP FUNCTION dbo.GetChineseFromString
GO
CREATE FUNCTION dbo.GetChineseFromString ( @StringWithChinese NVARCHAR(100) )
RETURNS NVARCHAR(100)
AS
BEGIN
WHILE PATINDEX('%[^吖-座]%', @StringWithChinese) > 0
SET @StringWithChinese = STUFF(@StringWithChinese, PATINDEX('%[^吖-座]%', @StringWithChinese), 1, N'');
RETURN @StringWithChinese
END
go
SELECT dbo.GetChineseFromString('asda54615哈哈笑死我了asdfsadf56564!!!')
最新文章
- JavaWeb——Filter
- curl使用简单介绍
- [转]Ubantu vmware tools 安装
- 被废了的display:box弹性盒模型
- HTML <;b>;、 <;strong>; 、<;big>;、<;small>;、<;em>;、<;i>;、<;sub>;和<;sup>; 标签
- Android Content Provider Guides
- ORA-12154的原因
- javaScript-原型、继承-01
- LVS+Keepalived实现高可用集群
- (二)GameMaker:Studio ——使用等高图生成3D地形
- TLV----Demo讲解
- 如何以非 root 用户将应用绑定到 80 端口-ssh 篇
- onoffswitch-checkbox
- <;知识整理>;树--堆及其应用
- 手把手详解持续集成之GitLab CI/CD
- Centos 7 Ntop 流量分析 安装
- cf1106E 线性dp+multiset
- [C++ Primer Plus] 第7章、函数(一)程序清单——递归,指针和const,指针数组和数组指针,函数和二维数组
- S3C2440 DMA 驱动示例
- Apache HTTP Server应用的几个场景
热门文章
- centos7 关闭默认firewalld,开启iptables
- 【LOJ】#2070. 「SDOI2016」平凡的骰子
- gluster学习(一)
- Alter GDG limit
- 九大工具助你玩转Java性能优化
- 智能家居实践(番外篇)—— 接入 HomeKit 实现用 Siri 控制家电
- Android调用C#的WebService
- python opencv3 基于ORB的特征检测和 BF暴力匹配 knn匹配 flann匹配
- luoguP4783 [模板]矩阵求逆 线性代数
- 网络抓包及Http Https通信协议分析