C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[4]: Oracleの正規表現について質問


(過去ログ 95 を表示中)

[トピック内 5 記事 (1 - 5 表示)]  << 0 >>

■56762 / inTopicNo.1)  Oracleの正規表現について質問
  
□投稿者/ TZH (1回)-(2011/01/30(Sun) 12:53:18)

分類:[データベース全般] 

はじめまして、TZHと申します。

Oracleの正規表現で、「x」または「×」を含む列のみ取得したいのですが、どのような
条件をかけば宜しいのでしょうか?

また、同様に正規表現で「100g」や「10.5kg」といった数値と文字列が
含まれているものを分けて表示させたいのですが、どのように書けば
お教え願えないでしょうか?

よろしくお願いします。
引用返信 編集キー/
■56766 / inTopicNo.2)  Re[1]: Oracleの正規表現について質問
□投稿者/ あぼ〜ん (1回)-(2011/01/31(Mon) 10:23:47)
こんにちは。

お役にたてればいいのですが・・

どちらもOracle10g以降で使えます。

>Oracleの正規表現で、「x」または「×」を含む列のみ取得したいのですが、どのような
>条件をかけば宜しいのでしょうか?


REGEXP_LIKE関数が使えると思います。

SELECT TABLE_NAME,COLUMN_NAME FROM USER_TAB_COLUMNS WHERE REGEXP_LIKE(カラム名,'[X]') or REGEXP_LIKE(カラム名,'[x]')

>また、同様に正規表現で「100g」や「10.5kg」といった数値と文字列が
>含まれているものを分けて表示させたいのですが、どのように書けば

REGEXP_SUBSTR関数が使えると思います。

SELECT REGEXP_SUBSTR('[0-9]+'),REGEXP_SUBSTR('[A-Z]+'), FROM テーブル名


Oracle10gの環境が今ないので 覚えてる限り記述してみました。
参考になれればいいのですが。。
引用返信 編集キー/
■56767 / inTopicNo.3)  Re[2]: Oracleの正規表現について質問
□投稿者/ 魔界の仮面弁士 (2040回)-(2011/01/31(Mon) 10:43:42)
# 一応ツッコミ。

No56766 (あぼ〜ん さん) に返信
>> Oracleの正規表現で、「x」または「×」を含む列のみ取得したいのですが、
「x」または「X」ではなく、
「x」または「×」なのですね?

>> どのような条件をかけば宜しいのでしょうか?
> REGEXP_LIKE関数が使えると思います。
> SELECT TABLE_NAME,COLUMN_NAME FROM USER_TAB_COLUMNS WHERE REGEXP_LIKE(カラム名,'[X]') or REGEXP_LIKE(カラム名,'[x]')
正規表現を使って検索するなら
 WHERE REGEXP_LIKE(カラム名,'x|×')
で良いかと思います。

また、or を使うのであれば、
 WHERE カラム名 LIKE '%x%' or カラム名 LIKE '%X%'
でも充分かと思います。


>> また、同様に正規表現で「100g」や「10.5kg」といった数値と文字列が
>> 含まれているものを分けて表示させたいのですが、どのように書けば
> REGEXP_SUBSTR関数が使えると思います。
> SELECT REGEXP_SUBSTR('[0-9]+'),REGEXP_SUBSTR('[A-Z]+'), FROM テーフ゛ル名

引数が足りていないようです。<パターンだけで、検索対象が指定されていない
http://www.shift-the-oracle.com/sql/functions/regexp_substr.html

それと、半角カナは利用しないようにお願いします。
引用返信 編集キー/
■56771 / inTopicNo.4)  Re[3]: Oracleの正規表現について質問
□投稿者/ shu (391回)-(2011/01/31(Mon) 14:01:35)
『[xX]』 とか 『[x×]』
こういうのは使えないの?
引用返信 編集キー/
■56805 / inTopicNo.5)  Re[4]: Oracleの正規表現について質問
□投稿者/ ノラ (1回)-(2011/02/01(Tue) 15:02:07)
No56771 (shu さん) に返信
> 『[xX]』 とか 『[x×]』
> こういうのは使えないの?
REGEXP_LIKE関数ですよね。使えます。
後、
REGEXP_LIKE( string , pattern [, match] )
string 対象の文字列式
pattern 正規表現パターン
match 検索パラメータ
で検索パターンに'i'を指定することで大文字小文字を区別しないようにもできます。


引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -