Pages

2013/11/18

[SQL Server] バイト数で文字列を切り出す

SQL Server には LENB のようなバイト数をカウントする関数はないようだが、文字列を切り出すという目的であれば、型変換を利用して擬似的に実現することができる。

先頭から 6 バイト分切り出し。
SELECT CONVERT(VARCHAR(6), 'SQLサーバー2014')
-- 結果 : SQLサ
後ろから 6 バイト切り出すためには、右側から抜き出したい場合は REVERSE 関数で反転させてから抜き出し、さらに戻す。
※ RIGHT 関数はバイト数ではなく、文字数で取得するため使用できない。
SELECT REVERSE(CONVERT(VARCHAR(6), REVERSE('SQLサーバー2014')))
-- 結果 : ー2014
Related Posts Plugin for WordPress, Blogger...