DECLARE @S NVARCHAR(400) SET @S='请查看销售出库单,编号:[A.FBillNo],日期:[A.Fdate],购货单位:[A.FSupplyID]' DECLARE @T TABLE( COL NVARCHAR(200))WHILE (CHARINDEX('[',@S)>0 AND CHARINDEX(']',@S)>CHARINDEX('[',@S)) BEGIN INSERT @T SELECT SUBSTRING(@S,CHARINDEX('[',@S)+1,CHARINDEX(']',@S)-CHARINDEX('[',@S)-1) SET @S=STUFF(@S,1,CHARINDEX(']',@S),'') END SELECT * FROM @T/*A.FBillNo A.Fdate A.FSupplyID(所影响的行数为 3 行)?
BEGIN
.....
END
A.FBillNo
A。Fdate
A.fsupplyid
这种结果集?????????
编号:[A.FBillNo],日期:[A.Fdate],购货单位:[A.FSupplyID]
地点:[火星],人物:[楼主],...是这样的不?
请查看销售出库单,编号:[A.FBillNo],日期:[A.Fdate],购货单位:[A.FSupplyID]这个字符串就是实例啊,想得出
A.FBillNo
A。Fdate
A.fsupplyid
这种结果集
SET @S='请查看销售出库单,编号:[A.FBillNo],日期:[A.Fdate],购货单位:[A.FSupplyID]'
DECLARE @T TABLE( COL NVARCHAR(200))WHILE (CHARINDEX('[',@S)>0 AND CHARINDEX(']',@S)>CHARINDEX('[',@S))
BEGIN
INSERT @T SELECT SUBSTRING(@S,CHARINDEX('[',@S)+1,CHARINDEX(']',@S)-CHARINDEX('[',@S)-1)
SET @S=STUFF(@S,1,CHARINDEX(']',@S),'')
END
SELECT * FROM @T/*A.FBillNo
A.Fdate
A.FSupplyID(所影响的行数为 3 行)?
declare @str varchar(20)
set @str = '[A.FBillNo]'
select REPLACE(REPLACE(@str, '[', ''), ']', '')--A.FBillNo这种?
这个只是把[]replace掉了,其他中文字呢,没法replace啊
可以按照逗号来截取 然后再用charindex函数找到[]的位置截取出来 再replace