[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

このブログの人気の投稿

コピーした行の挿入が表示されない時はフィルタされていないかチェック

Excel で一部の図形だけ固定する