私は8桁のTEXTフィールド(Codeと呼ばれます)を持っていて、 "code mod 3が0である"を選択したいと思っています。 このwhere句をms-sqlに書くにはどうすればよいですか?私は、クエリが他のバージョンのSQLでも同じでなければならないと考えています。ありがとう。where句のテキストフィールドで算術演算を行う方法は?
0
A
答えて
5
- DONT DO THIS! where句にスカラー計算を置くとSARGableになりません。つまり、索引を使用できず、表スキャンを実行する必要があります。
2番目 - DONT DO THIS!いずれかのコードがINTにキャストできない場合、これは失敗します。第三に
- あなたはまだ2つの警告にもかかわらず、これを実行したい場合は、これはどのようにある:私はOPは私がドン...それはTEXTフィールドだったと言って質問を編集しているかもしれないと思う
-- If field is varchar
WHERE CAST(Code AS INT) % 3 = 0
-- If field is TEXT
WHERE CAST(CAST(Code AS VARCHAR(10)) AS INT) % 3 = 0
1
ないことがMSSQLに同じだかどうかわからが、MySQLで:まず
SELECT * FROM tbl WHERE Code % 3 = 0;
+0
」元々そこにあったことを思い出してください。私のソリューションがTEXT列で動作するかどうかは分かりません。 – Travesty3
関連する問題
- 1. Apache sparkでjoinExpressionの算術演算を行う方法
- 2. CQLのWHERE句で基本的な算術演算を使用する方法は?
- 3. Oracleタイムスタンプ(SQL)で算術演算を実行する方法は?
- 4. Sequelizeで算術演算を実行する方法は?
- 5. Javaでの算術演算
- 6. LINQの3項演算子where句
- 7. Springプロパティで算術演算を行うには?
- 8. 算術演算を実行するPig
- 9. Cプログラミング!算術演算子演算
- 10. インポートされたCSVデータの算術演算を行うには?
- 11. Dynamic Where句T-SQL可変演算子
- 12. 無効な関係演算子Where句
- 13. bashループ(for)で算術演算を行う方法がわからない
- 14. C++の算術演算
- 15. 算術演算 - JavaScriptの
- 16. c#算術演算のリスト
- 17. doctrine QueryBuilderの算術演算
- 18. enum値の算術演算
- 19. Stackdriverモニタリングチャートの算術演算
- 20. ユーザーフォームの算術演算
- 21. int - Javaの算術演算
- 22. オブジェクトの算術演算
- 23. 算術演算がオーバーフロー
- 24. オーバーロード算術演算子
- 25. Bashのif文で算術演算を使用する方法
- 26. クエリ結果の算術演算を行う
- 27. Chiselで算術シフト演算子を使用する方法
- 28. golang htmlテンプレートで算術演算子を使用する方法
- 29. デルファイのジェネリック型での算術演算
- 30. アセンブリーでの算術演算の登録
+1は正しい考えです。 CASTは 'TEXT'と' INT'の間では動作しません(OPは文字通りMSSQLの従来の 'TEXT'型を意味すると仮定します)。これを行う必要があります: 'CAST(CAST(VARCHAR(25))AS INT)'。 – vcsjones
これはありがとう、私は彼がvarcharを意味すると思ったが、私は両方の可能性を今追加した。 –