以下のようなことを「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で質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 特定の文字を簡単な操作で半角スペースに変換するか削除したい 2 2022/11/01 10:35
- その他(Microsoft Office) WordやExcelで英数字のみ半角または全角にしたい 6 2022/08/03 08:18
- Excel(エクセル) capeofdragonと申します Excel2016を使っておりまして 半角又は全角の任意文字列が 2 2022/10/31 13:51
- その他(データベース) Accessのクエリで1フィールドの抽出条件設定をNullでなく全角半角含む空白のみの文字列でない文 1 2023/04/24 15:20
- Access(アクセス) capeofdragonと申します。 Access2016を使っております。 あるフォームがあり、テ 2 2022/09/09 13:18
- Access(アクセス) Accessのテキストボックスの入力文字制限 1 2023/01/18 20:43
- その他(コンピューター・テクノロジー) 【Tableau Desktop】文字列から8桁の数字を日付型(yyyyMMdd)として取得 1 2023/07/31 10:17
- マウス・キーボード macからリモートデスクトップでwindowsに接続した際のキーボード配列 3 2023/07/10 08:40
- Excel(エクセル) セルに入力した小文字アルファベット、数字を大文字表示させるには? 3 2022/07/13 10:01
- フリーソフト フォルダ、ファイル名の一括変換について 3 2023/03/16 09:23
このQ&Aを見た人はこんなQ&Aも見ています
-
性格の違いは生まれた順番で決まる?長男長女・中間子・末っ子・一人っ子の性格の傾向
同じ環境で生まれ育っても、生まれ順で性格は違うものなのだろうか。家庭教育研究家の田宮由美さんに教えてもらった。
-
半角英数文字の抽出がしたい。
Oracle
-
MySQLで数字の値のもののみを取り出す
MySQL
-
文字列からアルファベットだけを抜き出すには
SQL Server
-
-
4
SQL文で右から1文字だけ削除するやり方
MySQL
-
5
GROUP BYを行った後に結合したい。
Oracle
-
6
SQLServerで文字列の末尾からある位置で取出
SQL Server
-
7
select文の書き方「半角カナ+英+数」 以外の文字が含まれているレコードを抽出する方法
PostgreSQL
-
8
ORA-01013のエラーについて経験のある方お願いします。
Oracle
-
9
SELECT INTOで一度に複数の変数へ代入をするにはどのようにすれがよいでしょうか?
PostgreSQL
-
10
テーブルからのselectにおいてデータの有無により結果をわけたい
PostgreSQL
-
11
エクセルでエラーが出て困っています。
Excel(エクセル)
-
12
SQL、2つのテーブルで条件一致したものだけdeleteする方法は?
Oracle
-
13
SQLで1バイト、2バイト混在データでの切出し
Visual Basic(VBA)
-
14
PL/SQLで@ファイル名が反応しません
Oracle
-
15
SQL 複数テーブルのupdate
Oracle
-
16
FROM の中で CASE を使えるでしょうか
SQL Server
-
17
文字列で小数点以下の0を削除したい
Visual Basic(VBA)
-
18
MAX関数を使ってからLEFT JOINしたいのですが・・
PHP
-
19
exeファイルの中身を見ることは可能ですか?
フリーソフト
-
20
like演算子内に変数って使えないんですか?
その他(プログラミング・Web制作)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
SQL 全角半角混在の文字列から...
-
VBScript + oo4o 更新すると文...
-
16進数の指定の仕方
-
Windows Storeを使わずに付箋を...
-
DB2で SQL1032N start databas...
-
SIDとSERVICE_NAMEの違いとは?
-
oracleのメモリ使用量が97%ほど...
-
住所コード11桁の住所データ...
-
正しいSQLなのに「ORA-00936: ...
-
データベース接続情報作成しま...
-
データソース名および指定され...
-
ダークソウル3のたまねぎ頭NPC...
-
ORA-12170のエラーについて
-
SQL*PLUSにてデータベース名表示
-
ORAー12560:TNS:protocol adap...
-
Oracle11g SQLPlusログインにつ...
-
Oracle11gの接続について大至急...
-
Oracle SQRの正式名称は何ですか?
-
ObjectBrowserでエクスポート
-
Express Editionに関して
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
SQL 全角半角混在の文字列から...
-
16進数の指定の仕方
-
InsertもしくはUpdate時の文字...
-
NLS_CHARACTERSETについて
-
VBScript + oo4o 更新すると文...
-
ASP.NETでのオラクルAL16UTF16...
-
ORA-12170のエラーについて
-
突然オラクルへ接続できなくな...
-
SIDとSERVICE_NAMEの違いとは?
-
DB2で SQL1032N start databas...
-
住所コード11桁の住所データ...
-
oracleのメモリ使用量が97%ほど...
-
データソース名および指定され...
-
倒産した18禁ゲーム会社のパ...
-
.NET Frameworkがコントロール...
-
Oracle11g SQLPlusログインにつ...
-
異なる文字コードの環境にイン...
-
Windows Storeを使わずに付箋を...
-
正しいSQLなのに「ORA-00936: ...
-
Oracle10g・・ODBCで接続できない
おすすめ情報