2017-07-03 94 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

什么是实际的SQL和额外的结果? –

+0

'LIKE'$ {userZip}%''没有什么错,它完全符合你的要求。你能否显示你的表格结构以及如何准备查询? –

+0

@JorgeCampos你是对的,我意识到它与LIKE命令无关,这是我导入导致问题的Zip代码的方式,所以上面的代码实际上效果很好。 – Jordash

回答

1

我认为你应该考虑在条件下使用-。类似以下使用REGEXP

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