VBの質問ではなくSQLの質問で大変申し訳ないのですが
ご教授願います。
環境:WindowsXP SP2 ,VB2005 ,Oracle 9i
SQLの SELECT 句であるテーブルのフィールド(CHAR型)
の中から SUBSTR 関数を使用して1文字抽出した文字が
数値なのかそれ以外の文字なのかを判定する
ことはできますか?
SQLのいろんなサイトを調べましたがわかりません。
よろしくお願いします。
> VBの質問ではなくSQLの質問で大変申し訳ないのですが
VB と無関係の話題が板違いである事は、理解されているのですよね。
何故、Oracle 向けのコミュニティを利用されないのでしょうか?
> 数値なのかそれ以外の文字なのかを判定する
その 1 文字が "0"〜"9" のいずれかであるかどうかを
判定すれば良いのですよね。
ここは VB のコミュニティなので、VB側で判定するのであれば、
Dim x As Char
:
If x Like "[0-9]" Then
などでしょうかね。
後は、IsNumeric やこの辺という手もありますが…。
http://forums.microsoft.com/MSDN-JA/ShowPost.aspx?PostID=2857224&SiteID=7
> SQLのいろんなサイトを調べましたがわかりません。
Oracle 側で判定するなら正規表現と言いたい所ですが…
今回は 9i という事なので、
INSTR('0123456789', 対象文字)
の結果が 0 か 0 以外かで判定するとか。
魔界の仮面弁士さんアドバイスありがとうございます。
>VB と無関係の話題が板違いである事は、理解されているのですよね。
>何故、Oracle 向けのコミュニティを利用されないのでしょうか?
VB と無関係なのは分かっていまいしたがSQLの質問をどこでしたら
よいかわからず、諸事情により適切なコミュニティを探す時間が
なかったもので、当サイトでいつもアドバイスをいただいている
方ならSQLにも精通されてると思い質問でさせていだだきました。
誠に申し訳ありませんでした。
以後こういった質問は Oracle 向けのコミュニティでします。
>INSTR('0123456789', 対象文字)
>の結果が 0 か 0 以外かで判定するとか。
INSTR 関数で解決しました。
文字かどうかを判定することばかりにとらわれて
違う方向からのアプローチが出来ていませんでした。
この経験を生かしてより柔軟に対応できるようになって
いきたい次第です。
この度は板違いな質問誠に申し訳ありませんでした。
又、板違いな質問に丁寧にアドバイスいただき
ありがとうございました。