日期:2014-05-17  浏览次数:20374 次

sql字符串截取问题
一个字段fnumer 值如下
aa.bb.cc  abc.a.c  ccccc.bac.ffffff

我想截取fnumer
1.第一点前面的字符串
2.第一个点到第二个点之间的字符串
3.第3个点后面的字符串
-由于长度会不一样,请问怎么截取

------解决方案--------------------
DECLARE @i TABLE (fnumber NVARCHAR(100))

INSERT INTO @i(fnumber)
SELECT 'aa.bb.cc'
UNION ALL
SELECT 'abc.a.c'
UNION ALL
SELECT 'ccccc.bac.ffffff'

SELECT PARSENAME(fnumber,3),PARSENAME(fnumber,2),PARSENAME(fnumber,1) FROM @i
/*
(无列名) (无列名) (无列名)
aa bb cc
abc a c
ccccc bac ffffff*/