- - PR -
SUBSTRINGについて
1
| 投稿者 | 投稿内容 | ||||||||
|---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2006-07-06 09:32
いつもお世話になっております。
DBはSQL SERVER2005 を使用しています。 文字列の抽出関数SUBSTRINGについて質問させてください。 以下のようなクエリを書きました。 DECLARE @str_zenkaku VARCHAR(20) DECLARE @str_hankaku VARCHAR(20) SET @str_zenkaku = 'ABCDE' SET @str_hankaku = 'abcde' PRINT SUBSTRING(@str_zenkaku, 1, 5 ) ・・・A PRINT SUBSTRING(@str_hankaku, 1, 5 ) ・・・B PRINT SUBSTRING(@str_zenkaku, 6, 5 ) ・・・C PRINT SUBSTRING(@str_hankaku, 6, 5 ) ・・・D 結果は A→ABCDE B→abcde C→NULLで帰ってくる D→NULLではないが空白で帰ってくる です。 CとDの違いはなんなのでしょうか? ちなみに、なぜこんなことをしているかというと、、、 全部で10文字入力可能のカラムを 前半5文字と後半5文字に分けて返すようなことをしたくて 試していて、疑問に思いました。 よろしくお願いします。 | ||||||||
|
投稿日時: 2006-07-06 11:51
こんにちは。
深いところは分からないですが、SUBSTRING 関数の第一引数(expression) に与える値が Unicode 文字列かどうかで決まるのではないでしょうか。 既定のコードページの文字列を渡すと null が返りますね。
結果 A:ABCDE B:abcde C:null D:
結果 A:ABCDE B:abcde C: D: _________________ 上本亮介 (ue) @ わんくま同盟 Microsoft MVP for VSTO (Jul 2008 - Jun 2009) Hello Another World! .NET 勉強会 / ヒーロー島 | ||||||||
1
