2017-07-11 10 views
0
ID MOBILE 
1 9869600733 
2 9869600793 
3 9869600799 

9の3回の携帯電話番号を持つすべてのID ...?単純なSQLクエリ。どのようにそれを解決する..?

+2

を含んですべてのレコードを返すのだろうか?一般的な考え方は9を ''(空白ではなく空白)に置き換え、前と後のデータ長を数えるならば、それらは候補行xD – LONG

+0

これを読んでくださいhttps://stackoverflow.com/help/how -to-ask –

+0

@LONGまさに私が思ったもの –

答えて

1

あなたのRDBMSはEXACTソリューションを知る必要がありますが、これはほとんどの場合有効です。私はMOBILE_ID_TABLEを使用しました。テーブル名を指定しなかったからです。あなたのRDBMS LIKEに応じて、%または*が必要になります。

SELECT ID FROM MOBILE_ID_TABLE WHERE MOBILE LIKE '%9%9%9%'; 
SELECT ID FROM MOBILE_ID_TABLE WHERE MOBILE LIKE '*9*9*9*'; 
+0

ありがとうございました –

+0

アップしてください。 :) –

0

私の解決策は次のようになります。

文では、モバイルの列が3倍の数9.あなたが使用しているRDBMS

SELECT * 
    FROM youtable 
WHERE (LEN(MOBILE) - LEN(REPLACE(MOBILE,'9',''))) = 3 
+0

私よりも効率が悪いです。 xDDD –

関連する問題