Transact-SQLで日本語を(2バイト文字)を含むデータの扱い

公開日: : 最終更新日:2013/11/26 SQL Server , , ,

Transact-SQLで日本語を(2バイト文字)を含むデータをそのままSUBSTRING()すると、
ずれて取得されるようです。
これで半日潰しました。

strTmp2に内容が予想よりずれて取得されます。

ずれないように取得するには以下のようにCAST()してから取得します。

また、日本語(2バイト文字)を含むデータ以降はすべてCAST()して
取得する必要があります。

文字数ではなくバイト数で取得する必要があるようです。

スポンサーリンク
  • このエントリーをはてなブックマークに追加
  • 14 follow us in feedly

関連記事

SQLServer

SQLServerでストアドプロシージャ名を取得する

SQLServerでストアドプロシージャ名を取得する ストアドプロシージャ名を取得する エラ

記事を読む

no-img

SELECTでUNIONは複数個使える

SELECTでの複数のUNIONの使い方 SELECTでUNIONは複数個、連続して使えるようです

記事を読む

no-img

複数のストアドプロシージャ (stored procedure) でローカルテンポラリテーブルを共有する

ローカルテンポラリテーブルを共有する 先日来より悩んでいたSQLServerでの SQL

記事を読む

SQLServer

SQLServerで取得した値を3ケタずつのカンマ区切りの表示に変更する方法です

SQLServerで取得した値を3ケタずつのカンマ区切りの表示に変更する方法です。 3ケタずつ

記事を読む

no-img

SQLServerのエラーコードを取得するSQL

SQLServerで発生するエラーコードをSQLで取得する SQLServerで発生したエラーコー

記事を読む

no-img

SQLで西暦から和暦変換を行う

SQLを使って西暦から和暦変換を行う SQLServerには西暦和暦変換関数が無いようなので、

記事を読む

SQLサーバ

DATETIMEデータ型のミリ秒丸め現象

DATETIMEデータ型のミリ秒には丸めがあります SQLServerのDATETIMEデータ

記事を読む

no-img

SQLServerでsp_renameを使ってテーブルの列名を変更する

SQLServerで列名を変更するには sp_renameを使って列名を変更 SQLServ

記事を読む

no-img

ALTER TABLEでカラムの属性を変更する

ALTER TABLEでカラムの属性を変更する すでに作成されているテーブルのカラムの属性を変更し

記事を読む

SQLServer

SQLServerで「WITH ROLLUP」を使って小計、総合計を出力する

「WITH ROLLUP」を使って小計、総合計を出力 SQLServerでは「WITH ROLLU

記事を読む

no-img
SQLServerのSQL_VARIANT_PROPERTYを使ってカラムの基本データ型を取得する

このページはSQL_VARIANT_PROPERTYを使ってカラムの基

no-img
データベースに登録されている内容を固定長のファイルに出力する(1)

登録されている内容を固定長で出力 データベースに登録されている内容を

no-img
ALTER TABLEのALTER COLUMNで「列 ‘xxxxx’ に依存しています」とエラーになる

ALTER COLUMNで「列 'xxxxx' に依存しています」とエ

no-img
SQLServerのエラーコード一覧

SQLServerで発生するエラーコードとその内容を表にしてみました。

SQLServer
SQLServerでクライアントのIPアドレスを取得する

SQLServerでクライアントのIPアドレスを取得する SQLを発

→もっと見る



PAGE TOP ↑