我使用SQlite选择以某个字母开头的行,例如:a,b,c。
SELECT title FROM dictionary WHERE title LIKE 'a%' ORDER BY title ASC
SELECT title FROM dictionary WHERE title LIKE 'b%' ORDER BY title ASC
SELECT title FROM dictionary WHERE title LIKE 'c%' ORDER BY title ASC
...
但是我也想选择所有以0-9开头的标题,就像LIKE'0-9%'。
答案 0 :(得分:3)
首先,您可以通过添加OR来整理原始的LIKE语句:
SELECT title FROM dictionary WHERE title LIKE 'a%' OR name like '%b' OR name like '%c' ORDER BY title ASC.
要回答您的问题,您可以使用正则表达式,因为标题是基于字符串的。
WHERE title regexp '^[0-9]+'
OR
WHERE (LEFT(title, 1) IN ('0', '1', '2', '3', '4', '5', '6', '7', '8', '9'))
你也可以尝试子串和数字函数:
WHERE ISNUMERIC(SUBSTRING(VAL, 1, 1))
未经过测试但会帮助您考虑如何解决这个问题
答案 1 :(得分:1)
你可以试试这个
SELECT * FROM YourTable WHERE YourColumn regexp'^ [0-9] +'
答案 2 :(得分:1)
尝试使用regexp
SELECT title FROM dictionary WHERE title regexp '^[0-9]+';