[SQL Server] バイト数で文字列を切り出す
SQL Server には LENB のようなバイト数をカウントする関数はないようだが、文字列を切り出すという目的であれば、型変換を利用して擬似的に実現することができる。
先頭から 6 バイト分切り出し。
※ RIGHT 関数はバイト数ではなく、文字数で取得するため使用できない。
先頭から 6 バイト分切り出し。
SELECT CONVERT(VARCHAR(6), 'SQLサーバー2014') -- 結果 : SQLサ後ろから 6 バイト切り出すためには、右側から抜き出したい場合は REVERSE 関数で反転させてから抜き出し、さらに戻す。
※ RIGHT 関数はバイト数ではなく、文字数で取得するため使用できない。
SELECT REVERSE(CONVERT(VARCHAR(6), REVERSE('SQLサーバー2014'))) -- 結果 : ー2014