How to split a comma-separated value to columns| SQL Server Interview Question

Q. How to split a comma-separated value to columns. Ex('First,Second,Third') Output should be as below Ans: First Solution ...

Q. How to split a comma-separated value to columns. Ex('First,Second,Third')
Output should be as below


Ans:
First Solution (it is very complex)
DECLARE @S NVARCHAR(100) = 'First,Second,Third'
SELECT SUBSTRING(@S,0,CHARINDEX(',',@S,0)) Column1,
SUBSTRING(@S,(CHARINDEX(',',@S,0))+1,(CHARINDEX(',',@S,(CHARINDEX(',',@S,0)+1)))-(CHARINDEX(',',@S,0))-1) Column2,

SUBSTRING(@S,(CHARINDEX(',',@S,(CHARINDEX(',',@S,0)+1)))+1,LEN(@S)) Column3



Second Solution (Very good)

Related

SQL SERVER INTERVIEW QUESTIONS 3774462622973360168

Post a comment

  1. DECLARE @S NVARCHAR(100) = 'First,Second,Third'
    SELECT SUBSTRING(@S,0,CHARINDEX(',',@S,0)) Column1,
    SUBSTRING(@S,(CHARINDEX(',',@S,0))+1,(CHARINDEX(',',@S,(CHARINDEX(',',@S,0)+1)))-(CHARINDEX(',',@S,0))-1) Column2,
    SUBSTRING(@S,(CHARINDEX(',',@S,(CHARINDEX(',',@S,0)+1)))+1,LEN(@S)) Column3

    ReplyDelete
  2. please send me sql interview question in my id prakashkw2@gmail.com

    ReplyDelete
  3. Second solution script
    DECLARE @names NVARCHAR(100) = 'First,Second,Third'
    DECLARE @X XML
    SELECT @X = CONVERT(XML,''+REPLACE(@names,',','')+'')

    SELECT @X.value('/Names[1]/name[1]','varchar(100)') [Column1],
    @X.value('/Names[1]/name[2]','varchar(100)') [Column2],
    @X.value('/Names[1]/name[3]','varchar(100)') [Column3]

    ReplyDelete
  4. SELECT SUBSTR('First,Second,Third',1,5)COLMN1,
    SUBSTR('First,Second,Third',INSTR('First,Second,Third','S'),6)COLUMN2
    ,SUBSTR('First,Second,Third',INSTR('First,Second,Third','T'))COLUMN3
    FROM DUAL;
    ----THIS QUERY ALSO GIVES OUTPUT BT I WANT TO KNW THAT IT IS CORRECT WAY OR NOT CAN ANYWAY HELP MI..
    THANX

    ReplyDelete
    Replies
    1. Hi Pallavi, You have oracle query but here I have written SQL Server query, Both are correct way but in SQL server XML way(last one) is good way to do this because it is more clear and don't be more complex if we have more column. but first way become more complex if we have more column.
      Thanx for your comment.

      Delete

emo-but-icon

Follow Us

Recent

Comments

Donate

Side Ads

Text Widget

Connect Us

Sql Server 2017 Interview Questions
Sql Server Basic Interview Query Set-1
Sql Server Basic Interview Query Set-2
Sql Server Date-Time Interview Query SET-3
Sql Server Salary Interview Query SET-4
Sql Server Group By Interview Query SET-5
Sql Server Join Interview Query SET-6
Sql Server Tricky Join Interview Query SET-7
Sql Server DDL Interview Query SET-8
Small but very Tricky Sql Server Query SET-9
Very Much Tricky Query (not 4 fresher)SET-10
Sql Server Complex Interview Query SET-11
Sql Server Datatype Interview Questions
Sql Server View Interview Questions
Sql Server Index Interview Questions
TCS Tricky Sql Interview Queries
HCL Sql Interview Queries
Sql Server SP Interview Questions
Sql Server Trigger Interview Questions
Sql Server Temp Table Interview Questions
Sql Server 2016 Interview Questions
Sql Server Performance Tuning Interview Q.
Sql Server Constraints Interview Questions
Sql Server Storage/Size Interview Questions
Sql Server Very Basic Interview Questions
Sql Server Quiz for Fresher
Sql Server Icon Quiz for All
Sql Server 300+ Theoretical Interview Questions
Sql Server Complete Set

ASP.NET AND JQUERY INTERVIEW QUESTION
ASP.NET: Web Config Interview Question
ASP.NET: View State Interview Question
ASP.NET: Session Interview Question
ASP.NET: Session Interview Question 
ASP.NET: Security Interview Question
ASP.NET: Catching Interview Question
C# OOPS Interview Question
MORE Interview Question
JQUERY: Interview Question Set-1
JQUERY: Interview Question Set-2
JAVA-SCRIPT: Interview Question Set-1
JAVA-SCRIPT: Interview Question Set-2
ASP.NET MVC: Interview Question Set-1

POPULAR POSTS
10 MOST DIFFICULT INTERVIEW QUESTIONS
5 BEST INTERVIEW TIPS
YOUR 10 MISTAKE DURING INTERVIEW
2016 TOP 20 GROUP DISCUSSION TOPICS
HOW SQL PERFORMANCE AFFECTED BY DATATYPE
item