sql >> Database >  >> RDS >> Sqlserver

Sql-query om een ​​kolom in twee kolommen te splitsen

Zoiets

declare @x nvarchar(500) = '1.1.1 chapter1'

select substring(@x,1,charindex('.',@x,1+charindex('.',@x))-1) as Major,
       substring(@x,charindex('.',@x,1+charindex('.',@x)),len(@x)-charindex('.',@x,1+charindex('.',@x))) as Minor

Vervang @x in uw zoekopdracht ..

en de viool ervoor:http://sqlfiddle.com/#!3/d41d8 /4424/0

bijgewerkt met de . vooraan en bewijs van fout

declare @x nvarchar(500) ='1.1.1 hoofdstuk1'

select @x,
   case when charindex('.',@x,1+charindex('.',@x)) <> 0 then substring(@x,1,charindex('.',@x,1+charindex('.',@x))-1)
        else 'Cannot be parsed'
   end,
   case when charindex('.',@x,1+charindex('.',@x)) <> 0 then substring(@x,charindex('.',@x,1+charindex('.',@x)),len(@x)-charindex('.',@x,1+charindex('.',@x))+1)
        else 'Cannot be parsed'
   end

en zonder de . vooraan

declare @x nvarchar(500) ='1.1.1 hoofdstuk1'

select @x,
   case when charindex('.',@x,1+charindex('.',@x)) <> 0 then substring(@x,1,charindex('.',@x,1+charindex('.',@x))-1)
        else 'Cannot be parsed'
   end,
   case when charindex('.',@x,1+charindex('.',@x)) <> 0 then substring(@x,1+charindex('.',@x,1+charindex('.',@x)),len(@x)-charindex('.',@x,1+charindex('.',@x)))
        else 'Cannot be parsed'
   end

http://sqlfiddle.com/#!3/d41d8/4430/0



  1. Hoe verander je de tijdsduur?

  2. MySQL ruimtelijke geometrie valideren wkt

  3. Hoe GraphQL en PostgreSQL te verbinden

  4. Hoe kan ik tabellen op de juiste manier afkappen?