sql server查询替换 [英] sql server query replace

查看:63
本文介绍了sql server查询替换的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如何在单个替换函数中替换多个不同的字符(''+'',''-'',''/'',''('','')'').
我知道要使用replace(replace(replace(replace(replace(ssdsdsd,se,we))bu,t想要一次替换.
解决方案

更好的方法是创建用户定义的功能 [ ^ ]许多Replace&在SQL SELECT语句中使用它

EDIT

 创建 功能 Fn_Phone
(
     @ OffPhoneNo   VARCHAR ( 100 )
)
    返回  VARCHAR ( 100 )
 AS 
开始
  返回(LTRIM(RTRIM(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE( @ OffPhoneNo ' '' '),' .'' '),' ' ' ' ' ('' '),' )'' '), CHAR ( 9 ),' ')))))
 END  


现在在SELECT语句中使用它

  SELECT  OffPhoneNo,dbo.FnPhone(OffPhoneNo) FROM  [TableName] 


亲爱的朋友,

我认为您必须在SQL Server中使用SPLIT函数的功能才能实现您的要求.

http://geekswithblogs.net/AngelEyes/archive/2007/04/12/111504.aspx [ ^ ]

http://www.sqlteam.com/forums/topic.asp?TOPIC_ID=50648 [ ^ ]

如果这对您有帮助,请将其标记为您的答案.

谢谢


how to replace multiple different characters(''+'',''-'',''/'',''('','')'') in single replace function.
i know using replace(replace(replace(replace(ssdsdsd,se,we) bu,t want in single replace.
plzz anyone can help me??

解决方案

Better way is create an User defined function[^] with those many Replaces & ans use it in your SQL SELECT statement

EDIT

CREATE FUNCTION Fn_Phone
(
    @OffPhoneNo VARCHAR(100) 
)
    RETURNS VARCHAR(100)
AS
BEGIN
  RETURN(LTRIM(RTRIM(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(@OffPhoneNo,' ',''),'.',''),'-',''),'+',''),'(',''),')',''),CHAR(9),''))))
END


Now use it in SELECT statement

SELECT OffPhoneNo, dbo.FnPhone(OffPhoneNo) FROM [TableName]


Dear Friend,

I think you have to use the functionality of SPLIT function in SQL Server in order to achieve you require.

http://geekswithblogs.net/AngelEyes/archive/2007/04/12/111504.aspx[^]

http://www.sqlteam.com/forums/topic.asp?TOPIC_ID=50648[^]

If this helps you out then mark this as your answer.

Thanks


这篇关于sql server查询替换的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆