2017-02-15 4 views
1

SQLクエリを作成しようとしていますが、数値結果のみが返されます。数値のみのSQL結果

私はこれを試してみましたが、それは私のために仕事をdid't:

select * 
from crm.Communication cm 
where cm.TypeKey = 4 and data like '%[^0-9]%' 

1つの英数字の値があるとき、私は結果を望んでいません。

あなたが私を助けることを願っています。

BG、 フランス

+0

テーブルスキーマを指定してください。 – Sangharsh

+0

「それは私のために働いていません」問題の説明ではありません。なぜそれは動作しませんでしたか?エラーが発生しましたか?もしそうなら、エラーは何でしたか?期待された結果を返さなかったか?何が戻ったのか、何を期待したのですか? – HoneyBadger

+1

あなたは「あまり好きではありません」と思っています。 – jarlh

答えて

1

あなたはこれを試すことができますか?

select * 
from crm.Communication cm 
where cm.TypeKey = 4 and ceil(data) = data 

、あなたがREGEXP

を使用したい場合は、このように必要なように削除していないとも

select * 
from crm.Communication cm 
where cm.TypeKey = 4 and data not like '%[^0-9]%' 
+0

ここで何が起こるか説明できますか? (私はMySQLを知らない) – jarlh

+0

最初にそれが働いているかどうかを知らせる –

+0

@jarlh何が起こるかは、任意のSQL関数で正規表現をダンプすることができないということです。 –

-1

使用を置きます正規表現を使用する代わりに、あなたはlikeを使用しています。次のようにLIKEの代わりにREGEXPを使用してください。

select * 
from crm.Communication cm 
where cm.TypeKey = 4 and data REGEXP '%[^0-9]%' 
-1

あなたは正しいを使用しているREGEXP

select * 
from crm.Communication cm 
where cm.TypeKey = 4 and data REGEXP '[^0-9]'