On 8/1/09 1:47 AM, "Andrew Ballard" <aball...@gmail.com> wrote:
On Fri, Jul 31, 2009 at 5:55 PM, Phpster<phps...@gmail.com> wrote:
> What about
> $sql = "SELECT DISTINCT ID, name, address FROM restaurants WHERE
> left(name, 1) between 0 and 9";
> Sent from my iPod
You need to wrap the 0 and the 9 in single quotes, or else it returns
$sql = "SELECT DISTINCT ID, name, address FROM restaurants WHERE
left(name, 1) between '0' and '9'";
Performance could be an issue, also. I tried this and the two versions
I posted on her other thread against a table I have that has just over
8700 rows in it. This version took over 9 times longer to execute.
(Granted, on a table that small it's still 0.0092 seconds compared to
0.0010 seconds. Either of those times is acceptable in my book, but on
a larger table a 9x performance drain could be a serious issue.)
That's because the engine has to examine every row in the table and
calculate left(name, 1) before it can compare that value to the range.
The other versions I posted can simply scan/seek the index within a
Not sure why none of these are working for me since you have them tested
against your table....I get this error...
You have an error in your SQL syntax; check the manual that corresponds to your
MySQL server version for the right syntax to use near '(name, 1) between '0'
and '9'' at line 1
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php