need to split a string into seperate values.
eg.
col1 col2
----------
100 - 'a,b,c'
200 - 'a,x,b,d,e'
300 - 'c'
result:
value count
-------------
a - 2
b - 1
c - 2
etc.
Answer Posted / gopi muluka
DECLARE @STR VARCHAR(50),
@Char VARCHAR(10),@N INT, @CNT INT
DECLARE @TAB TABLE (VAL VARCHAR(30), CNT INT)
SET @STR='A,B,C,D,E,F,C,A,S,K,C,B'
SET @CHAR=''
SET @N=1
SET @CNT=1
WHILE @N>0
BEGIN
PRINT @STR
SET @CHAR=SUBSTRING(@STR,1,CHARINDEX(',',@STR)-1)
IF NOT EXISTS(SELECT 1 FROM @TAB WHERE VAL=@CHAR)
INSERT @TAB VALUES (@CHAR,@CNT)
SET @STR=SUBSTRING(@STR,CHARINDEX(',',@STR)+1,115)
IF CHARINDEX(@CHAR,@STR)>0
BEGIN
UPDATE @TAB
SET CNT=CNT+1
WHERE VAL=@CHAR
END
SET @N=CHARINDEX(',',@STR)
PRINT @N
END
SELECT * FROM @TAB
| Is This Answer Correct ? | 0 Yes | 0 No |
Post New Answer View All Answers
What is a record in pl/sql?
Explain the insert into statements in sql?
which command using query analyzer will give you the version of sql server and operating system? : Sql dba
Is join and inner join the same?
what is sp_pkeys? : Transact sql
what are the different tables present in mysql? : Sql dba
What is the trigger in sql?
what is the different between now() and current_date()? : Sql dba
Why triggers are used?
Does sql between include endpoints?
How to avoid using cursors?
How to change a value of the field ‘salary’ as 7500 for an employee_name ‘john’ in a table employee_details?
What is data profiling in sql?
What is the best partition size for windows 10?
Explain commit, rollback and savepoint.