3

私のテーブルの列には、家の住所の番号が格納されています。

残念ながら、以前の同僚は思考のファンではなかったので、タイプの列を作成varcharし、ソフトウェアへの入力をブロックしませんでした...そのため、家/アパートの数が「NI」である行の束で立ち往生しています、意味のある番号の代わりに、「情報なし」、「不明」など...

数字ではない行だけを選択したい...select * from table where CAST(column as int)例外をスローするようなもの

4

4 に答える 4

7

IsNumeric、IsInt、IsNumberを見てください。isnumericだけを使用することはできません。これはtrueを返します-記号やそのようなもの

たとえば、これは1を返します

SELECT ISNUMERIC('2d5'),
       ISNUMERIC('+')
于 2012-12-27T17:56:16.137 に答える
3
select * from table where ISNumeric(column)=0 

しかし、それは誤検知を与える可能性があります....。

于 2012-12-27T17:54:41.300 に答える
1

これを試して:

SELECT * FROM table WHERE ISNUMERIC(column + 'e0') = 0
于 2012-12-27T17:56:08.820 に答える
-1

キャストおよび必要なその他のロジックを試行する関数を作成し、値が要件を満たさない場合は0を返し、成功した場合は1を返します。次にwhere句で関数を使用します。

于 2012-12-27T17:55:19.273 に答える