CHARINDEX
返回字符串中指定表达式的起始位置。
语法
CHARINDEX ( expression1 , expression2 [ , start_location ] )
如果在 expression2 内没有找到 expression1,则 CHARINDEX 返回 0。
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
来源:https://www.cnblogs.com/sesexxoo/archive/2008/08/08/6190252.html