读书人

问一个简单的SQL一句解决方案

发布时间: 2012-02-29 16:44:11 作者: rapoo

问一个简单的SQL一句
如何将字符串 "让梦冬眠-艾雨.vox,艾雨,2 " 引号里面的数据 的 ", "所在位置判断出来


[解决办法]
declare @a varchar(100)
set @a= '让梦冬眠-艾雨.vox,艾雨,2 '
select top 100 id=identity(int,1,1) into # from syscolumns

select id pos
from #
where substring(@a,id,1)= ', '
drop table #

--result
/*
pos
-----------
12
15

(所影响的行数为 2 行)
*/
[解决办法]
declare @s as varchar(50)
set @s = '让梦冬眠-艾雨.vox,艾雨,2 '

select charindex( ', ' , @s) 第一个, charindex( ', ' , @s , charindex( ', ' , @s) + 1) 第二个
select substring(@s , charindex( ', ' , @s) + 1 , charindex( ', ' , @s , charindex( ', ' , @s) + 1) - charindex( ', ' , @s) - 1) 两逗号之间的内容

/*
第一个 第二个
----------- -----------
12 15

(所影响的行数为 1 行)

两逗号之间的内容
--------------------------------------------------
艾雨

(所影响的行数为 1 行)
*/

读书人网 >SQL Server

热点推荐