
以下のようなことを「SQL文のみ」で行いたいのですが、
どなたかご教授のほどお願い致します。
下記のような変換前の文字列があるとします。
それを変換後のような形式にしたいのですが可能でしょうか?
■変換前
→2721111千葉県浦安市3-3-3浦安マンション222
■変換後
→2721111333222
要するに数字だけを抜き出したいのですが
できますでしょうか。
REGEXPのような正規表現は使用できないようです、
oracle9iです。
恐れ入りますが、よろしくお願いします。
No.5
- 回答日時:
こんにちは。
>>どのような環境でも保証できる判断であるべきです。
おっしゃる通りです・・・、失礼しました・・・。
っていうか、この場合は文字コードで判断しなければいけないような場面でもなさそうですね・・・。
単純に0~9の範囲でいいのかも・・・?
(未確認ですが)
(^^ゞ
No.4
- 回答日時:
>#3
>IF ASCII(SUBSTR(MOTONETA,I,1)) BETWEEN 48 AND 57
ASCII関数は、データベースキャラクタでのコード値を参照するための関数です。
コード値で範囲判定するなら、予めキャラクタセットが限定されなければなりません。
コード値で判断するなら、
IF ASCII(CONVERT(SUBSTR(MOTONETA,I,1),'JA16SJIS') BETWEEN 48 AND 57
のように、どのような環境でも保証できる判断であるべきです。
(予め環境が判っているなら別ですけど..今回は不明でしょ?)
No.3
- 回答日時:
こんばんは。
数値も全角の可能性がありますか?
半角数値のみ抜き出す場合・・・、
DECLARE
MOTONETA VARCHAR2(100) := '2721111千葉県浦安市3-3-3浦安マンション222';
KEKKA VARCHAR2(100);
TEMP VARCHAR2(100);
BEGIN
FOR I IN 1 .. LENGTH(MOTONETA)
LOOP
IF ASCII(SUBSTR(MOTONETA,
I,
1)) BETWEEN 48 AND 57
THEN
TEMP := KEKKA || SUBSTR(MOTONETA,
I,
1);
KEKKA := TEMP;
TEMP := NULL;
END IF;
END LOOP;
DBMS_OUTPUT.PUT_LINE(KEKKA);
END;
でできます。
全角数値も数値とみなす場合は、コードを追加しないとだめですが・・・。
(^^ゞ
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
半角英数文字の抽出がしたい。
Oracle
-
MySQLで数字の値のもののみを取り出す
MySQL
-
select文の書き方「半角カナ+英+数」 以外の文字が含まれているレコードを抽出する方法
PostgreSQL
-
-
4
SQLServerで文字列の末尾からある位置で取出
SQL Server
-
5
文字列からアルファベットだけを抜き出すには
SQL Server
-
6
全角文字を含む行を検索
MySQL
-
7
エクセルでセルの中身が漢字かどうか識別する方法は?
Excel(エクセル)
-
8
SQL、2つのテーブルで条件一致したものだけdeleteする方法は?
Oracle
-
9
半角英数字混在データから数字のデータを抽出したい。
Oracle
-
10
SELECT 文 GROUP での1件目を取得
SQL Server
-
11
count関数の値をwhere句で使用する方法について
MySQL
-
12
オラクルではできるのにSQLSERVERではサブクエリーで複数キーを指定できない?
SQL Server
-
13
SUBSTRING 関数に渡した長さのパラメータが無効です。
SQL Server
-
14
テーブルの最後(最新)のレコードを抽出したい
MySQL
-
15
SQLのデータで半角カナを全角にしたい
MySQL
-
16
group byの並び順を変えるだけで結果が異なる
Oracle
-
17
【SQL】他テーブルに含まれる値に合致する行を抽出
その他(データベース)
-
18
バッチでテキストファイルから任意の行のみ取得したい
その他(プログラミング・Web制作)
-
19
VB.NETで DataRow()を利用して、値からコードを取得したい。
Visual Basic(VBA)
-
20
EXCELで、漢字のみ抽出する式を教えてください。
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
InsertもしくはUpdate時の文字...
-
SQL 全角半角混在の文字列から...
-
VBScript + oo4o 更新すると文...
-
SIDとSERVICE_NAMEの違いとは?
-
データソース名および指定され...
-
突然オラクルへ接続できなくな...
-
DB2で SQL1032N start databas...
-
Oracle11g SQLPlusログインにつ...
-
.NET Frameworkがコントロール...
-
異なる文字コードの環境にイン...
-
LONG RAW型のイメージデータ取...
-
WiFi環境があればTikTokLiteは...
-
正しいSQLなのに「ORA-00936: ...
-
oracleのメモリ使用量が97%ほど...
-
instantclient cse接続ができない
-
SAIを違うPCで使いたい
-
ObjectBrowserでエクスポート
-
sqlplus / as sysdba で接続不可
-
OracleDBConsoleorclのサービス...
-
ORA-12170のエラーについて
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
SQL 全角半角混在の文字列から...
-
16進数の指定の仕方
-
InsertもしくはUpdate時の文字...
-
NLS_CHARACTERSETについて
-
HP上の字が文字化けする
-
VBScript + oo4o 更新すると文...
-
Oracleのnchar型について
-
文字コード、テリトリについて。
-
KeySQLで検索出来るキャラクタ...
-
SIDとSERVICE_NAMEの違いとは?
-
Fate/hollow ataraxiaの追加パ...
-
CloverをインストールしたUSBメ...
-
突然オラクルへ接続できなくな...
-
ORA-12170のエラーについて
-
DB2で SQL1032N start databas...
-
正しいSQLなのに「ORA-00936: ...
-
Oracle11g SQLPlusログインにつ...
-
倒産した18禁ゲーム会社のパ...
-
OraOps10.dllのエラーについて
-
.NET Frameworkがコントロール...
おすすめ情報