• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:SQL 文字列検索につきまして)

SQL文字列検索について

このQ&Aのポイント
  • SQL文字列検索において、指定の文字「-」を検索し、先頭から「-」のひとつ前までを取得する方法について質問します。substrやinstrでは実現できないようです。
  • 「-」を含む文字列の場合は、その前までを取得し、含まない文字列の場合はそのまま出力する方法を教えてください。
  • 具体的な実行結果として、例えば「01234567-001」「0123456-001」「012345-001」「0123456789-001」の場合、期待する結果はそれぞれ「01234567」「0123456」「012345」「0123456789」です。

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

  • ベストアンサー
  • kakusuke
  • ベストアンサー率36% (95/259)
回答No.1

select case when instr(col, '-') > 0 then substr(col, 1, instr(col, '-') - 1) else col end from tbl; ですかね。

london1985
質問者

お礼

お返事が遅くなりまして、大変申し訳ございません。 意図通りに動作致しました。ありがとうございます!

その他の回答 (1)

  • yamada_g
  • ベストアンサー率68% (258/374)
回答No.2

>【過去の質問】 http://okwave.jp/qa/q8546719.html こちらですよね?追加で回答していたのですが、ご覧になっていないのでしょうか? No.1さんと同様の回答ではありますが。

london1985
質問者

お礼

お返事が遅くなりまして、大変申し訳ございません。 また、同一内容の質問を別個であげてしまい、失礼いたしました。 2つ目の質問を補足に記載してしまったため、不安になり別個に質問をあげてしまいました。 いただいた内容で意図通りに動作いたしました。 非常に助かりました。ありがとうございました。

関連するQ&A