wsql 发表于 2013-2-5 09:07:43

CHARINDEX 连同 SUBSTRING 对字符串删除处理...

CHARINDEX
返回字符串中指定表达式的起始位置。


语法
CHARINDEX ( expression1 , expression2 [ , start_location ] )

如果在 expression2 内没有找到 expression1,则 CHARINDEX 返回 0。<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />



SUBSTRING


Syntax


SUBSTRING ( expression , start , length )

截取字符串expression,从start 个字符开始,到Length 结束





如:

select charindex('.Net', 'VB.Net 2005'),charindex('Java', 'Microsoft Windows')


--Result--


----------- -----------
3 0




需求: 将字段中的.Net 后面内容,连同.Net 一同删除。
Table 的数据如下:


Col_1
--------------------
C#
VB.Net 2005
VB6.0
VS.Net 2008


Sql 可以这样写:


Declare @T_1 Table(Col_1 varchar(20) )


Insert into @T_1
Select 'VB.Net 2005'
union Select'VB6.0'
union Select 'VS.Net 2008'
union Select 'C#'


--Select * From @T_1


Select Col_1=Case Charindex('.Net',Col_1)
when 0 then Col_1
Else substring(Col_1,0,Charindex('.Net',Col_1))
End
From @T_1




--Result--


Col_1
--------------------
C#
VB
VB6.0
VS
页: [1]
查看完整版本: CHARINDEX 连同 SUBSTRING 对字符串删除处理...