Skip to content
Loading
How to separate field partdone to text yes or no or null bas
  • Jignesh Kumar
    Hi Ahmed,
     
    Please try below code 
     
    1. CREATE table PartTable  
    2. (  
    3.    partId int,  
    4.    PartDone nvarchar(50)  
    5. )  
    6.    
    7. INSERT INTO PartTable VALUES(555444, '0012')  
    8. INSERT INTO PartTable VALUES(911877, '0221')  
    9.    
    10. select partId,  
    11.   CASE (SELECT SUBSTRING(PartDone,1, 1)) WHEN 0 THEN 'no' WHEN 1 THEN 'yes' WHEN 2 THEN NULL END as First  
    12. ,CASE (SELECT SUBSTRING(PartDone,2, 1)) WHEN 0 THEN 'no' WHEN 1 THEN 'yes' WHEN 2 THEN NULL END as Second  
    13. ,CASE (SELECT SUBSTRING(PartDone,3, 1)) WHEN 0 THEN 'no' WHEN 1 THEN 'yes' WHEN 2 THEN NULL END as Third  
    14. ,CASE (SELECT SUBSTRING(PartDone,4, 1)) WHEN 0 THEN 'no' WHEN 1 THEN 'yes' WHEN 2 THEN NULL end as Four  
    15. FROM PartTable  
     
  • Navaneeth Krishnan
    CREATE table #table1
    (
       partId int,
       PartDone nvarchar(50),
       firstValue NVARCHAR(10),
       secondValue NVARCHAR(10),
       thirdValue NVARCHAR(10),
       fourthValue NVARCHAR(10),
    )
     
    INSERT INTO #table1 VALUES(555444, '0012', NULL, NULL, NULL, NULL)
    INSERT INTO #table1 VALUES(911877, '0221', NULL, NULL, NULL, NULL)
     
    UPDATE T
    SET
       firstValue = CASE (SELECT SUBSTRING(T.PartDone,1, 1)) WHEN 0 THEN 'no' WHEN 1 THEN 'yes' WHEN 2 THEN NULL END
    ,secondValue = CASE (SELECT SUBSTRING(T.PartDone,2, 1)) WHEN 0 THEN 'no' WHEN 1 THEN 'yes' WHEN 2 THEN NULL END
    , thirdValue = CASE (SELECT SUBSTRING(T.PartDone,3, 1)) WHEN 0 THEN 'no' WHEN 1 THEN 'yes' WHEN 2 THEN NULL END
    , fourthValue = CASE (SELECT SUBSTRING(T.PartDone,4, 1)) WHEN 0 THEN 'no' WHEN 1 THEN 'yes' WHEN 2 THEN NULL end
    FROM #table1 AS T
     
    SELECT * FROM #table1
     
    DROP TABLE #table1