Please start any new threads on our new
site at https://forums.sqlteam.com. We've got lots of great SQL Server
experts to answer whatever question you can come up with.
| Author |
Topic |
|
pradeep_iete
Yak Posting Veteran
84 Posts |
Posted - 2008-07-18 : 03:49:33
|
| If particular row of table has the records asAustralia/Nzealand/Uk/Singapore/OtherI want to extract like;Expected Result set : australia Newzealand UK Singapore other |
|
|
SwePeso
Patron Saint of Lost Yaks
30421 Posts |
Posted - 2008-07-18 : 04:28:07
|
Have a look at the fnParseList function here at SQLTeam. E 12°55'05.25"N 56°04'39.16" |
 |
|
|
ranganath
Posting Yak Master
209 Posts |
Posted - 2008-07-18 : 04:57:21
|
| Hitry with this DECLARE @data NVARCHAR(MAX), @delimiter NVARCHAR(5)SELECT @data = 'Australia/Nzealand/Uk/Singapore/Other', @delimiter = '/'DECLARE @textXML XML;SELECT @textXML = CAST('<d>' + REPLACE(@data, @delimiter, '</d><d>') + '</d>' AS XML);--SELECT @textXMLSELECT T.split.value('.', 'nvarchar(max)') AS dataFROM @textXML.nodes('/d') T (split) |
 |
|
|
visakh16
Very Important crosS Applying yaK Herder
52326 Posts |
Posted - 2008-07-18 : 05:17:45
|
| [code]CREATE FUNCTION ParseValues (@String varchar(8000),@Delimiter char(1) ) RETURNS @RESULTS TABLE (ID int identity(1,1), Val varchar(1000) ) AS BEGIN DECLARE @Value varchar(100) WHILE @String is not null BEGIN SELECT @Value=CASE WHEN CHARINDEX(@Delimiter,@String) >0 THEN LEFT(@String,CHARINDEX(@Delimiter,@String)-1) ELSE @String END, @String=CASE WHEN CHARINDEX(@Delimiter,@String) >0 THEN SUBSTRING(@String,CHARINDEX(@Delimiter,@String)+1,LEN(@String)) ELSE NULL END INSERT INTO @RESULTS (Val) SELECT @Value END RETURN ENDGO SELECT * FROM ParseValues('Australia/Nzealand/Uk/Singapore/Other','/')[/code] |
 |
|
|
|
|
|
|
|