• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:SQLの条件文)

SQLの条件文の指定方法とCASTの使い方

このQ&Aのポイント
  • SQLの条件文で、特定の条件を満たすデータを抽出する方法と、CAST関数を使ってデータ型を変換する方法について説明します。
  • 問題のSQLでは、'data%'という条件でdataで始まるデータを抽出し、CAST関数を使って数値部分を取り出しています。しかし、CAST関数は全てのデータに対して適用されるため、unknowndataに対してエラーが発生しています。
  • 正しくデータを取り出すためには、CAST関数の前に条件を追加する必要があります。例えば、AND retu != 'unknowndata'という条件を追加すれば、unknowndataを除外してデータを取り出すことができます。

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

  • ベストアンサー
  • jamshid6
  • ベストアンサー率88% (591/669)
回答No.1

>WHERE retu LIKE 'data%' >AND CAST(RIGHT(retu,3) AS Int) BETWEEN 100 AND 300 を >WHERE retu LIKE 'data%' >AND ISNUMERIC(RIGHT(retu,3))=1 >AND CAST(RIGHT(retu,3) AS Int) BETWEEN 100 AND 300 または >WHERE retu LIKE 'data%' >AND RIGHT(retu,3) BETWEEN '100' AND '300' >AND ISNUMERIC(RIGHT(retu,3))=1 とすればよいでしょう。

jobvba
質問者

お礼

前者は以前と同様にCAST時でエラーが発生しましたが、 後者で処理を実現できました! >WHERE retu LIKE 'data%' >AND RIGHT(retu,3) BETWEEN '100' AND '300' >AND ISNUMERIC(RIGHT(retu,3))=1 回答、ありがとうございました!

関連するQ&A