Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

Sql query untuk membagi satu kolom menjadi dua kolom

Sesuatu seperti ini

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

Gantikan @x dalam kueri Anda ..

dan biola untuk itu :http://sqlfiddle.com/#!3/d41d8 /4424/0

diperbarui dengan. di depan dan bukti kesalahan

deklarasikan @x nvarchar(500) ='1.1.1 bab1'

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

dan tanpa . di depan

deklarasikan @x nvarchar(500) ='1.1.1 bab1'

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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Menyebarkan Database SQL Server dari Test ke Live

  2. Apakah mungkin untuk menentukan kondisi di Count()?

  3. Mendapatkan Elemen ke-n dari yang terakhir dalam xml di Sql Server

  4. Bagaimana saya bisa memasukkan 10 juta catatan dalam waktu sesingkat mungkin?

  5. Ketika prinsip KERING tidak berlaku:operasi BITWISE di SQL Server