SQL Server

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

投稿日:2012/11/19 更新日:

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

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

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

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

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

当サイトのおすすめ記事

パソコン 1

当サイトは約5年間、さくらのレンタルサーバで運用させて頂きました。 何かトラブルがあったわけではないのですが、WordPressの表示速度を速くしたくてSSD搭載のレンタルサーバーで運用してみることに ...

プログラミング 2

SQLでIFを書けばWHERE句の内容を変えて検索できますが、条件ごとに同じようなSQLを 複数回書くのは面倒なので、1行で分岐できないかと言う事でSQLを作って見ました。 SQLでIFを使わずに条件 ...

SQLServer 3

SQLServerで発生するエラーコードをSQLで取得する SQLServerで発生したエラーコードの内容を メッセージが定義されているテーブルから取得します。 エラーコードを取得するSQL SQLs ...

4

SQLServerでは「ユーザー定義型」と呼ばれる独自のテーブル型をした戻り値を返す関数を作成することができます。 その作り方と使い方を解説します。 SQLServerでテーブル型を戻り値とする関数を ...

5

アフィリエイトでいきなり成果を出すのは難しいです。 でも、成果がないとレンタルサーバー代やドメイン代がペイできません。 しかも長い間、結果がでないとやる気もなくなってしまいます。 そういったことを防ぐ ...

-SQL Server
-, , ,

Copyright© ソフトウェア開発日記 , 2018 All Rights Reserved.