仕事で上記の要件が必要となり、SQL関連のリファレンス本を調べたら何とSQLServerでは文字数を数える関数はあるがバイト数を数える関数が存在しないことを知った。OracleやAccess(Jet)にはあるのにSQLServerには無いんだと!仕方なくよく参考にするサイトを調べてみたが過去ログにもそのような関連記事は見つからなかった。みんな使わないのかなぁ・・・と思いつつ、例によってGoogleで調べてようやく見つかった。何とも見事に、スマートな方法で実現していたのでここに覚書という意味で(仕事中ではあるが(^^;)書いておく。 注:文字列フィールドを 「moji」=VARCHAR(30)とする。 1.バイト数を取得 DATALENGTH(CONVERT(VARCHAR(30), moji)) 2.左から2バイト取得(LEFT()関数もどき) CONVERT(VARCHAR(2), mo
![なっちゃんのプログラマーズ日記: SQLServerで文字列フィールドから指定バイト数取得する方法](https://cdn-ak-scissors.b.st-hatena.com/image/square/126e9c63960837b5815901e11e1f6c1303c17f2b/height=288;version=1;width=512/https%3A%2F%2Fblog.seesaa.jp%2Fimg%2Fogp_logo.png)