这是我的mySQL查询:
SELECT *
FROM `eodList`
WHERE datechanged>='$curdate'
GROUP BY symbolName
ORDER BY dateChanged DESC
如何获取symbolName
以字母A-F
开头的所有行(例如)?
更新
我需要一些可以很容易地改变到另一个范围的东西而不需要很多代码更改。
答案 0 :(得分:6)
尝试使用Regex
WHERE symbolName REGEXP '^[A-F]'
答案 1 :(得分:6)
比Regular expressions
和SUBSTRING()
函数调用快。这将使用symbolName
:
WHERE symbolName >= 'A'
AND symbolName < 'G'
虽然案例敏感性存在问题。您是否想要以a..f
开头的名字?
如果您只想要以大写字母开头且表格有utf8
字符集的名称,请使用:
WHERE symbolName >= 'A' COLLATE utf8_bin
AND symbolName < 'G' COLLATE utf8_bin
对于其他字符集,请使用相应的_bin
归类。
答案 2 :(得分:0)
SELECT *
FROM `eodList`
WHERE datechanged>='$curdate' AND
((SUBSTRING(symbolName, 1, 1) >= "A" AND SUBSTRING(symbolName, 1, 1) <="F"))
GROUP BY symbolName
ORDER BY dateChanged DESC