• ベストアンサー

ORACLE SQL 文末 文字列 削除の方法

いつもお世話になっております。 ORACLE SQLで文末にある特定文字を削除する方法が分かりません。 ご存知の方がおられましたら、ご教授頂けますでしょうか。 【ご質問内容】 以下のような文字列がありとします。 (文字列) 今日はいい天気ですね。||明日は晴れますかね。||||| 文末の|を全て削除したいのですが、 どのような方法で実施すればよいのでしょうか? 文末の|の数は何個になるか不特定です。 文末に|がない時もあります。 よろしくお願いいたします。

  • Oracle
  • 回答数2
  • ありがとう数1

質問者が選んだベストアンサー

  • ベストアンサー
  • o_chi_chi
  • ベストアンサー率45% (131/287)
回答No.2

参考は下記で

参考URL:
http://www.shift-the-oracle.com/sql/functions/rtrim.html

その他の回答 (1)

  • o_chi_chi
  • ベストアンサー率45% (131/287)
回答No.1

UPDATE テーブル名 SET 項目名 = RTRIM(項目名,'|') でいいのでは。

関連するQ&A

  • 文字列の切り出しとその文字列からの文末削除がしたい

    while(<GO>){ if($_ =~ /BOOK(.+)/){ print OUT "\n$1,"; } #01234を見つけたら、一番最初の文字列を抜き出す if($_ =~ /012345 (.+)(.+)(.+)(.+)(.+)(.+) /){    #その文字列の文末を削除 $data=(.+) substr($data, -3, 2) = ""; print OUT "$1,"; } } close(OUT); データ例 #####BOOK###### ###################33########################## 012345 6.6666ppm 2.6asc 3.9asc GOOD 0 0 012345 1.6666pm 2.6asc 3.9asc NO 0 0 012345 6.6656pppm 2.6asc 3.9asc MIN 0 0 ###################36########################## 012346 6.6666ppm 2.6asc 3.9asc GOOD 0 0 012346 1.6666ppm 2.6asc 3.9asc NO 0 0 012346 6.6656ppm 2.6asc 3.9asc MIN 0 0 上記のようなデータから一番左の文字列があったら、 一番最初の文字列を切り出し,文末を削除したいのですが、 作成したperlでは6.6666ppm 2.6asc 3.9asc まで切り出して且文末が削除できません。 どうかアドバイスをお願いします。

    • ベストアンサー
    • Perl
  • oracleの表の各列に対して、

    oracleの表の各列に対して、 不正な文字がないかどうかをチェックする方法として、 select 各列名 from 表名 where文で実施したいのですが、 1文字づつチェックするsql文はどのようにしたら良いでしょうか? 例:abcXXXefg aからgまでをチェックし、XXX部分の不正文字を抽出する。 宜しくお願いします。

  • 特定文字列と不特定文字列の削除方法

    下記のA列に時刻が記録されております。 A列 時刻 20:00 21:30 22:00 23:45 0:00(7/17) 1:15 2:00 3:00 21:45 22:15 23:30 1:30(7/18) 4:30 5:00 6:00 上記のA列を基にして、B列にはA列に表示されている(7/17)や(7/18)といった、不要な文字列(日 付が変わった際に、時刻の後ろに日付を付け加えたもの)を削除して表示しています。 B列 時刻 20:00 21:30 22:00 23:45 0:00 1:15 2:00 3:00 21:45 22:15 23:30 1:30 4:30 5:00 6:00 =SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A2,"(",""),"/",""),")","") ( / )という文字列は表示されなくなりましたが、 日付の数字部分7,17や7,18などの不特定の文字列の削除方法がわかりませんでし た。 A列を参照して、( / )という特定文字列と、7,17や7,18といった不特定文字列の を削除して、B列に表示させる方法は有りますか? 何卒よろしくお願いしたします。

  • 特定文字列を含まない行を削除

    以前特定文字列を含む行を削除する方法の質問をし、正規表現を置換することでできることを知りました。^.*特定の文字列.*\n 今度は特定文字列を含まない行を削除を削除したいです。 この場合どう記述すればいいでしょうか? また、特定文字列1と特定文字列2のどちらかを含まない行を削除する方法もあわせて知りたいです。

  • 複数文字列から共通文字列の抽出処置

    お世話になっています。 標題の件に付いて教えて頂きたく質問板に投稿させて頂きました。 以下の様な複数の文字列があり各文字列で共通の文字列のみを抽出するといった処理を行いたいのですが可能でしょうか?? 例(1) 赤鉛筆を11/1に購入 青鉛筆を11/5に購入 黄鉛筆を11/20に購入 →鉛筆を購入 例(2) 今日の天気は晴れです 今日の天気は曇りです 今日の天気は雨です →今日の天気はです という様な感じです。 文字列には決まったパターン等はありません。 申し訳ありませんがご教授下さい。 よろしくお願い致します。

  • SQLで特定の文字を含むものを削除

    SQLで特定の文字を含むものを削除 パソコン初心者です。 SQLでデータベースからたとえば(’)シングルコートを 含むもののみ削除することはできますか?

  • 特定の文字列を含む行だけ削除する方法?

    いつもお世話になっています。 Unixであるテキストファイルから、 特定の文字列を含む行(レコード)だけを 削除する方法を教えてください。 現在、grepを使って、いろいろ試しているのですが、 正規表現で、 ”***”を含まない行(レコード)だけを 切り出すとう正規表現の説明が見あたりません。 "^**"は、**以外の文字を検索できるようですが、 文字列に対しては、使えません。 grep以外の方法でも良いのですが、 なるべくシンプルにできる方法がありましたら 教えてください。 宜敷お願いします。

  • 文字列を削除したい。

    Stringの文字列をStringに移し特定の 文字を消したいと思っています。 調べたところdeleteというメソッドで。 開始位置と終了位置を指定すれば 削除できるみたいですが、 文字列を指定してその文字列を削除する、 という事はできますか? お願いします。

    • ベストアンサー
    • Java
  • 特定の文字列を削除

    こんにちは perlで特定の文字列からその後ろをすべて 削除したいのですが、うまくできなくて質問します。 Ex)123.12abc   ⇒123.12 012.123abc   ⇒012.123 123.1234|| ⇒123.1234 上記のようなデータの少数点までの数字の後ろにabc、||、半角、全角スペースなど文字列があります. 少数点までの数字の後ろの文字列すべてを削除したいですが、 特定の文字列からその後ろにある文字列全てを指定する方法(正規表現)はありませんでしょうか? どうかご存知の方、教えてください!! よろしくお願いいたします。

  • 文字列の切り出し

    一応確認はしましたが、過去に似たような質問があったらすみませんが どうか教えて下さい。 今までOracleでコーディングしたことはありますが、postgresは初心者です。 文字列を右から切り出す関数はないでしょうか? 例えば、文字列「TEST」の末尾2文字を取りたいとき OracleのSQLで言えば substr( 'TEST', -2 ) ⇒ 'ST' が取れますが postgresではこういう風に使えないようです。 substr 以外の関数や、代わりにこうやる方法があるよと言ったことを教えて下さい。 お願い致します。