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

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

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

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

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

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

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

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

関連記事

春分の日と秋分の日をSQLで求める計算式

春分の日と秋分の日は毎年違う 春分の日と秋分の日は 祝日としての春分の日・秋分の日は、 前

記事を読む

SQLServer上にあるストアドプロシージャーの更新日時を取得する。

ストアドプロシージャーの更新日時を取得する ここ数日間で変更されたSQLServer上にあるストア

記事を読む

@@ROWCOUNTで処理した件数を取得する

@@ROWCOUNTは直前に処理した件数を取得するための関数 SQLServerでは実行したSQL

記事を読む

SQLServerではTRIM関数がありません

SQLServerでは空白を取り除くTRIM関数がない SQLServerではOracleやMyS

記事を読む

SQL Server-登録されているストアドプロシジャーの一覧を取得する

データベースに登録されているストアドプロシジャーの 一覧を取得します。

記事を読む

テーブル型を戻り値とする関数の作成方法

SQLServerでテーブル型を戻り値とする関数を作る SQLServerではINT型やVARCH

記事を読む

ALTER TABLE ADDでテーブルにカラムを追加する

SQL Serverでテーブルにカラムする SQL Serverでテーブルにカラムを追加します。

記事を読む

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

このページはSQL_VARIANT_PROPERTYを使ってカラムの基本データ型を取得すると重複して

記事を読む

ISNULLとCOALESCEは動作が異なる

ISNULLとCOALESCEは動作が異なるので注意が必要 とある人が作成したSQLを見ているとC

記事を読む

CASE WHEN を使って条件ごとの件数を取得する

CASE WHEN を使って条件ごとの件数を取得する あるテーブルに状態を表すフラグを持たせること

記事を読む

NULLの検索はIS NULL演算子を使う

SQLでNULLのカラムを検索 SQLでNULLのカラムを検索す

SQLで棒グラフの簡易版を出力する

SQLで棒グラフの簡易版出力 SQLで棒グラフの簡易版を出力してみま

SQLServerで省略可能な引数を持ったストアドプロシージャを作る

SQLServerで省略可能な引数を持ったストアドプロシージャーを作り

SQLで指定月のカレンダー作成

ストアドプロシージャでカレンダーを作成する SQLServerでスト

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

登録されている内容を固定長の長さで出力する 先日作成したデータベース

→もっと見る



PAGE TOP ↑