sql-server-2008 – T-SQL删除所有非alpha和非数字字符
发布时间:2020-05-24 12:55:37 所属栏目:MsSql 来源:互联网
导读:有没有更聪明的方法来删除所有特殊字符而不是一系列约15个嵌套替换语句? 以下工作,但只处理三个字符(符号,空白和句点). select CustomerID, CustomerName, Replace(Replace(Replace(CustomerName,,), ,),.,) as CustomerNameStrippedfrom Customer 一种
|
有没有更聪明的方法来删除所有特殊字符而不是一系列约15个嵌套替换语句? 以下工作,但只处理三个字符(&符号,空白和句点). select CustomerID,CustomerName,Replace(Replace(Replace(CustomerName,'&',''),' ','.','') as CustomerNameStripped from Customer 解决方法一种灵活的方式;ALTER FUNCTION [dbo].[fnRemovePatternFromString](@BUFFER VARCHAR(MAX),@PATTERN VARCHAR(128)) RETURNS VARCHAR(MAX) AS
BEGIN
DECLARE @POS INT = PATINDEX(@PATTERN,@BUFFER)
WHILE @POS > 0 BEGIN
SET @BUFFER = STUFF(@BUFFER,@POS,1,'')
SET @POS = PATINDEX(@PATTERN,@BUFFER)
END
RETURN @BUFFER
END
select dbo.fnRemovePatternFromString('cake & beer $3.99!?c','%[$&.!?]%')
(No column name)
cake beer 399c (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- 计算在SQL Server中排除周末(周一到周五)的天数
- 当我们需要在数据库设计中使用一对一关系时?
- sql-server – 不能持久计算列 – 不确定
- FORMAT功能在sql server 2008 R2中不起作用
- SQL Server 服务由于登录失败而无法启动
- sql-server – 仅更新插入行的触发器
- sql – 如何使用LAMBDA表达式在LINQ中进行IN或CONTAINS?
- mysql中使用instr进行模糊查询方法介绍
- sql-server-2008 – T-SQL(MS SQL 2008),没有“EXEC”或“E
- sql-server – 插入Excel“链接服务器”时SQL Server,“无效
