2017-07-03 16 views
0

で始まる、私はこの形式で郵便番号のリストを持っている:MySQLは検索

ZIP CODES 
84038-4323 
93434-4320 

ユーザーがそれを次のように:84038

私のような何かをする方法を把握しようとしていますこれは、MySQL

SELECT * FROM locations WHERE ZipCode STARTSWITH '${userZip}'

に私は完全に一致する郵便番号の最初の部分を必要としています。

私はこの

SELECT * FROM locations WHERE ZipCode LIKE '${userZip}%'

を試してみました。しかし、それは余分なデータを返すだ、LIKEコマンドが十分に厳格ではありません表示されます。

+1

を使用して、以下のような何か –

+0

'LIKE '$ {userZip}%'に間違いはありません。あなたの望むものとまったく同じです。あなたはあなたのテーブル構造を表示することができますまた、どのようにクエリを準備していますか? –

+0

@JorgeCamposあなたが正しいですが、LIKEコマンドとは何の関係もないことに気付きました。問題を引き起こしていた郵便番号をインポートする方法だったので、上記のコードは実際にうまく機能します。 – Jordash

答えて

1

-を使用することを検討してください。実際のSQLと余分な結果は何ですか?REGEXP

SELECT * FROM locations WHERE ZipCode REGEXP '^{userZip}-'