
以下のようなことを「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も見ています
-
select文の書き方「半角カナ+英+数」 以外の文字が含まれているレコードを抽出する方法
PostgreSQL
-
半角英数文字の抽出がしたい。
Oracle
-
MySQLで数字の値のもののみを取り出す
MySQL
-
-
4
SQLServerで文字列の末尾からある位置で取出
SQL Server
-
5
文字列からアルファベットだけを抜き出すには
SQL Server
-
6
SELECT 文 GROUP での1件目を取得
SQL Server
-
7
全角文字を含む行を検索
MySQL
-
8
エクセルでセルの中身が漢字かどうか識別する方法は?
Excel(エクセル)
-
9
日付型のフィールドに空白を入れる方法を教えてください
その他(データベース)
-
10
count関数の値をwhere句で使用する方法について
MySQL
-
11
テーブルの最後(最新)のレコードを抽出したい
MySQL
-
12
SQL、2つのテーブルで条件一致したものだけdeleteする方法は?
Oracle
-
13
半角英数字混在データから数字のデータを抽出したい。
Oracle
-
14
オラクルではできるのにSQLSERVERではサブクエリーで複数キーを指定できない?
SQL Server
-
15
SUBSTRING 関数に渡した長さのパラメータが無効です。
SQL Server
-
16
SQLのデータで半角カナを全角にしたい
MySQL
-
17
group byの並び順を変えるだけで結果が異なる
Oracle
-
18
バッチでテキストファイルから任意の行のみ取得したい
その他(プログラミング・Web制作)
-
19
VB.NETで DataRow()を利用して、値からコードを取得したい。
Visual Basic(VBA)
-
20
EXCELで、漢字のみ抽出する式を教えてください。
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
SQL 全角半角混在の文字列から...
-
16進数の指定の仕方
-
SIDとSERVICE_NAMEの違いとは?
-
正しいSQLなのに「ORA-00936: ...
-
ORA-12170のエラーについて
-
突然オラクルへ接続できなくな...
-
CloverをインストールしたUSBメ...
-
ObjectBrowserでエクスポート
-
OraOps10.dllのエラーについて
-
ACCESSにて
-
SQLDriverConnectを使用してく...
-
SQL*PLUSにてデータベース名表示
-
DB2で SQL1032N start databas...
-
.NET Frameworkがコントロール...
-
Npgsqlを用いて接続を行いたい...
-
レコードに改行コードが含まれ...
-
デッドバイデイライトで遊びた...
-
SQLPLUSでサーバー名&DB名直接...
-
oracle DBリンクについて
-
倒産した18禁ゲーム会社のパ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
SQL 全角半角混在の文字列から...
-
16進数の指定の仕方
-
InsertもしくはUpdate時の文字...
-
VBScript + oo4o 更新すると文...
-
Oracle9iの画面が文字化けする
-
文字コード、テリトリについて。
-
NLS_CHARACTERSETについて
-
SIDとSERVICE_NAMEの違いとは?
-
CloverをインストールしたUSBメ...
-
データソース名および指定され...
-
DB2で SQL1032N start databas...
-
突然オラクルへ接続できなくな...
-
異なる文字コードの環境にイン...
-
OraOps10.dllのエラーについて
-
Windows Storeを使わずに付箋を...
-
正しいSQLなのに「ORA-00936: ...
-
ObjectBrowserでエクスポート
-
ORA-12170のエラーについて
-
Oracle11g SQLPlusログインにつ...
-
oracleのメモリ使用量が97%ほど...
おすすめ情報