1

次のテーブルとデータがあります。

  • 1) 文の最後の部分だけを表示したい。
  • 2) 文末から任意の 1 文字を削除します。
  • 3) 単語の末尾から -,#,?,_ などの特殊文字を削除します
create table t1 (id number(9) , words varchar2(20));
insert into t1 values(1,'hello UK');
insert into t1 values(2,'hello Eypt');
insert into t1 values(3,'hello ALL');
insert into t1 values(4,'hello I');
insert into t1 values(5,'hello USA');
insert into t1 values(6,'hello #');
insert into t1 values(7,'hello #');
insert into t1 values(8,'hello A');
insert into t1 values(9,'hello 20');
insert into t1 values(10,'hello 2-2-2010');

私はこれを使用しました

 select REGEXP_SUBSTR(words,'\S+$)from t1;

予想された結果

id    word 
1     UK
2    EGYPT
3     ALL
5    USA
9     20
10    2-2-2010
4

2 に答える 2

0

MySQLバージョン

SELECT id, SUBSTRING_INDEX('hello UK', ' ', -1) as word WHERE LENGHT(word) > 1

OracleDBのバージョン(使用する必要があるバージョン)

SELECT id, SUBSTR('hello UK', INSTR('hello UK', ' ')) as word WHERE LENGHT(word) > 1

どちらの場合も戻ります{id}:UK

'helloUK'を適切な列名に置き換えることを忘れないでください:)

ここに、 INSTRで使用されるSUBSTRの説明があります

幸運を :)

于 2012-12-12T04:27:24.797 に答える
0

データベースのマニュアルを読んでください。それらはすべて文字列操作を行う関数を持っており、構文はアプリケーションに依存しています。SUBSTRING(words, 7, DATALENGTH(word) -7)SQLServerで動作します。

于 2012-12-12T04:28:16.650 に答える