- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:SQLの条件文)
SQLの条件文の指定方法とCASTの使い方
このQ&Aのポイント
- SQLの条件文で、特定の条件を満たすデータを抽出する方法と、CAST関数を使ってデータ型を変換する方法について説明します。
- 問題のSQLでは、'data%'という条件でdataで始まるデータを抽出し、CAST関数を使って数値部分を取り出しています。しかし、CAST関数は全てのデータに対して適用されるため、unknowndataに対してエラーが発生しています。
- 正しくデータを取り出すためには、CAST関数の前に条件を追加する必要があります。例えば、AND retu != 'unknowndata'という条件を追加すれば、unknowndataを除外してデータを取り出すことができます。
- みんなの回答 (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 とすればよいでしょう。
お礼
前者は以前と同様にCAST時でエラーが発生しましたが、 後者で処理を実現できました! >WHERE retu LIKE 'data%' >AND RIGHT(retu,3) BETWEEN '100' AND '300' >AND ISNUMERIC(RIGHT(retu,3))=1 回答、ありがとうございました!