テーブルに bigint (ProductSerial) 型の列があります。like 演算子を使用して、製品シリアルでテーブルをフィルター処理する必要があります。しかし、同様の演算子は整数型には使用できないことがわかりました。
=
これには他の方法がありますか(演算子を使用したくありません)。
データベースを制御できる場合は、計算列を追加して整数値を文字列にコピーできます。
ALTER TABLE MyTable
ADD CalcCol AS (CAST(ProductSerial AS VARCHAR)) PERSISTED
そして次のようなクエリ:
SELECT *
FROM MyTable
WHERE ProductSerial LIKE '%2548%'
これにより、計算が挿入/更新に移動し、各クエリのすべての行を変換するのではなく、挿入/更新された行のみが移動されます。これは、更新された列が多数ある場合に問題になる可能性があります。これは、これらに非常にわずかなオーバーヘッドが追加されるためです。
モジュラスを使用して数学的に行う方法があるかもしれませんが、これには多くの作業とテストが必要です。