RT
这个问题第1个回答:
select left(col , charindex('/',col)-1) from tb where charindex('/',col) > 0
这个问题第2个回答:
select left('11/aaa/222/22222',charindex('/','11/aaa/222/22222')-1)
这个问题第3个回答:
SQL code
select left('11/aaa/222/22222',charindex('/','11/aaa/222/22222')-1)
这个问题第4个回答:
SQL code
select left('11/aaa/222/22222',charindex('/','11/aaa/222/22222')-1)
这个问题第5个回答:
已经解决了,谢谢了
怎么弄取出第一个/和第二个/中间的字符
这个问题第6个回答:
这个问题解决了,马上结贴
这个问题第7个回答:
我5楼的问题有什么人会吗?
这个问题第8个回答:
select left(right('11/aaa/222/22222',len('11/aaa/222/22222')-charindex('/','11/aaa/222/22222')),charindex('/',right('11/aaa/222/22222',len('11/aaa/222/22222')-charindex('/','11/aaa/222/22222')))-1)
这个问题第9个回答:
SQL code
select left(col , charindex('/',col)-1) from tb where charindex('/',col) > 0
这个问题第10个回答:
SQL code
--这是老大以前写的
Create FUNCTION f_splitSTR(
@s varchar(8000), --待分拆的字符串
@split varchar(10) --数据分隔符
)RETURNS @re TABLE(col varchar(100))
AS
BEGIN
--创建分拆处理的辅助表(用户定义函数中只能操作表变量)
DECLARE @t TABLE(ID int IDENTITY,b bit)
INSERT @t(b) SELECT TOP 8000 0 FROM syscolumns a,syscolumns b
INSERT @re SELECT SUBSTRING(@s,ID,CHARINDEX(@split,@s+@split,ID)-ID)
FROM @t
WHERE ID<=LEN(@s+'a')
AND CHARINDEX(@split,@split+@s,ID)=ID
RETURN
END
GO
select * from dbo.f_splitSTR('11/aaa/222/22222','/')
col
----------------------------------------------------------------------------------------------------
11
aaa
222
22222
(4 行受影响)
这个问题第11个回答:
SQL code
declare @str varchar(800)
set @str = '11/aaa/222/22222'
select left(Substring(@str,charindex('/',@str)+1,len(@str)),charindex('/',Substring(@str,charindex('/',@str)+1,len(@str)))-1)
/*
-----
aaa
--
(1 行受影响)
*/
这个问题第12个回答:
SQL code
declare @s as varchar(100)
set @s = '11/aaa/222/22222'
--取第一个'/'符号之前的内容
select left(@s , charindex('/' , @s) - 1)
/*
11
(所影响的行数为 1 行)
*/
--取第一个'/'和第二个'/'符号之间的内容
select substring(@s , charindex('/' , @s) + 1 , charindex('/' , @s , charindex('/' , @s)+1) - charindex('/' , @s) - 1)
/*
aaa
(所影响的行数为 1 行)
*/
--使用PARSENAME分别获取1,2,3,4之间'/'符号之间的内容,该函数最多支持3个分隔符号
SELECT PARSENAME(replace(@s , '/' , '.') , 4) [1],
PARSENAME(replace(@s , '/' , '.') , 3) [2],
PARSENAME(replace(@s , '/' , '.') , 2) [3],
PARSENAME(replace(@s , '/' , '.') , 1) [4]
/*
1 2 3 4
----- ------ ------ -----
11 aaa 222 22222
(所影响的行数为 1 行)
*/
这个问题第13个回答:
...