0

0129830INK ではなく 019280498 のような整数データのみを含むアイテムを選択するクエリを作成しようとしています。これらは製品データベース内の sku であり、私の現在の解決策はこの効果をもたらすものです。

列名はSKUです

SELECT *
FROM mydb
WHERE SKU not like '%a%' or SKU not like '%b%' or SKU not like '%c%' ..... or SKU not like '%z%'

これは、文字を含まない値のみを返します。しかし、私が書いたものは気に入らず、これを実行するためのよりエレガントな方法があると確信しています。

4

3 に答える 3

4

で元の方法を使用するとlike、次のことができます。

SELECT *
FROM mydb
WHERE SKU not like '%[^0-9]%';

'3e9'これには、のような式が数値として受け入れられないという利点があります。

または、除外したい具体的なアルファベット文字の場合:

SELECT *
FROM mydb
WHERE SKU not like '%[a-z]%';  -- or for case sensitive collations '%[a-zA-Z]%'
于 2013-08-12T15:24:07.953 に答える
3

使用できる IsNumeric() 関数があります。

Select *
from mydb
Where IsNumeric(sku) = 0x1
于 2013-08-12T15:08:34.607 に答える