SQLServerで指定した文字で文字列を分割する
SQLServerには指定した文字で文字列を分割する関数が用意されていないので、自作する必要があります。
(※SQL Server 2016以降では「STRING_SPLIT」という関数が実装されています。)
SQLServerで指定した文字で文字列を分割する
実行するSQLは以下の通りです。
DECLARE @separator VARCHAR(MAX) = ',' DECLARE @target_str VARCHAR(MAX)='123,45678' --文字列を「-」で前後に分割する SELECT SUBSTRING( @target_str, 1, CHARINDEX( @separator, @target_str ) - 1 ) AS before ,SUBSTRING( @target_str, CHARINDEX( @separator, @target_str ) + 1, LEN( @target_str ) - CHARINDEX( @separator, @target_str )) AS after
実行結果は
before | after |
---|---|
123 | 45678 |
になります。