sql >> データベース >  >> RDS >> Sqlserver

1 つの列を 2 つの列に分割する SQL クエリ

    このようなもの

    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
    

    クエリで @x を置き換えます..

    そしてそれのためのフィドル: http://sqlfiddle.com/#!3/d41d8 /4424/0

    で更新されました。前とエラーの証明

    宣言 @x nvarchar(500) ='1.1.1 chapter1'

    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
    

    なしで。前に

    宣言 @x nvarchar(500) ='1.1.1 chapter1'

    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. MySqlがVisualStudio2012で機能しない:タイプまたは名前空間名'MySql'が見つかりませんでした

    2. MySQLデータベースの名前を変更します

    3. pgsqlポートを変更します

    4. php-mysqlスクリプトが失敗したときに詳細なエラーレポートを取得する方法は?