varchar 列を含むテーブルがあり、特定の数値に一致する値を見つけたいと考えています。したがって、列に次のエントリが含まれているとしましょう (実際には数百万行を除く)。
123456789012
2345678
3456
23 45
713?2
00123456789012
そこで、数値的に 123456789012 であるすべての行について、次のようなステートメントを作成することにしました。
SELECT * FROM MyTable WHERE CAST(MyColumn as bigint) = 123456789012
最初と最後の行が返されるはずですが、「23 45」と「713?2」を bigint に変換できないため、クエリ全体が失敗します。
変換できない値に対して NULL を返す変換を行う別の方法はありますか?