当前位置: 代码迷 >> Sql Server >> 表中 某个字段中怎么查找特定格式的字符并删除
  详细解决方案

表中 某个字段中怎么查找特定格式的字符并删除

热度:28   发布时间:2016-04-27 13:24:08.0
表中 某个字段中如何查找特定格式的字符并删除?
比如表A,中字段为question

值为:“Lb4A3136 阻抗继电器中接入第三相电压。”

要的结果是把前面的编号“Lb4A3136” 去掉,但是每题的编号不一样。

但是格式是这样的:
第一个和第二个是字母,第三个是数字,第四个是字母,第五到第八个也是数字。

请问如果写这样一个sql语句来删除这些多余的数据??

急等。

------解决方案--------------------
你这个的思路是用charindex找到汉字 然后left
------解决方案--------------------
SQL code
declare @s varchar(100)set @s='Lb4A3136阻抗继电器中接入第三相电压'select right(@s,len(@s)-PATINDEX('%[吖-座]%',@S)+1)/*----------------------------------------------------------------阻抗继电器中接入第三相电压*/
------解决方案--------------------
去空格的索引 charindex(字段,' '),截取后面的
------解决方案--------------------
SQL code
----------------------------------提取中文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 @SENDGOSELECT DBO.CHINA_STR(你的列名) FROM 你的表GO--------------------------------
  相关解决方案