我想要顯示名稱的數據庫表的結果,我只想顯示名稱與初始A - D,如開始與A,B,C和d。我想知道是否可以在LIKE子句中使用多個值,如LIKE a%,b%,c%,d%。我想知道它是否會起作用,以及是否有更合適的方法來實現這一目標。如何顯示結果使用SQL其中名稱從初始A - D
1
A
回答
3
您可以使用多個LIKE
條款通過OR
分離:
SELECT * FROM names WHERE name LIKE 'A%' OR name LIKE 'B%' OR name LIKE 'C%' OR name LIKE 'D%'
或者你可以使用正則表達式(REGEXP
):
SELECT * FROM names WHERE name REGEXP '^[A-Da-d]'
編輯
這裏的其他方法UCASE
,SUBSTR
,並IN
:
SELECT * FROM names WHERE UCASE(SUBSTR(name, 1, 1)) IN ('A', 'B', 'C', 'D')
0
的%
是通配符來表示任何字符,因爲這個原因,可能不是你想要的。
一個更好的方法是使用MySQL的REGEXP
所以你查詢變爲:
SELECT x, y, z FROM people WHERE first_name REGEXP '^[A-z]';`
你可以找到更多在這裏:
0
一個簡單的方法,我能很快弄清楚是:
SELECT field_a FROM
表WHERE field_a like 'a%' OR field_a like 'b%' OR field_a like 'c%' OR field_a like 'd%'
1
我認爲最簡潔的方法是:
select t.*
from t
where left(name, 1) in ('A', 'B', 'C', 'D')
或者更短:
select t.*
from t
where left(name, 1) between 'A' and 'D';
注意的是,雖然這些都是帽子,攀比可能是不區分大小寫(關於MySQL默認值),所以'a','b','c'和'd'將與這些匹配。
或者,你可以把它甚至與玄之又玄短:
select t.*
from t
where name >= 'A' and name < 'E';
0
select t.* from t where name between 'A' and 'E';
應該工作
相關問題
- 1. 如何使用jQuery顯示從A-D開始的文本
- 2. 如何更改結果以顯示不同的名稱SQL
- 3. 對稱字典其中d [a] [b] == d [b] [a]
- 4. 如何解析json結果從sharepoint顯示列表名稱
- 5. 如何顯示誰是最初的名字是從K,B,A在SQL中開始的?
- 6. 如何在搜索結果中顯示「ContentType」名稱?
- 7. 如何顯示錶A的結果,然後顯示錶B的結果?
- 8. 初始化H:selectOneMenu用於其顯示
- 9. MiniProfiler結果由於使用SqlServerStorage,UI顯示空名稱
- 10. 如何改變聚光燈名稱顯示我的結果?
- 11. 使用wxPython顯示SQL查詢結果
- 12. 使用PHP顯示SQL結果
- 13. 顯示結果,如果條件與名稱
- 14. org.springframework.beans.factory.wiring.BeiringWiringInfo.BeanWiringInfo使用空名稱初始化
- 15. 如何初始化D中的全局結構數組?
- 16. 如何從名稱中使用jQuery顯示/隱藏文本框?
- 17. 如何分別顯示SQL結果
- 18. 如何顯示這樣的SQL結果
- 19. 如何從SQL Server全文查詢中突出顯示結果
- 20. 在netstat -a結果中未顯示使用的端口
- 21. 顯示號碼,如果%d> 0,否則,顯示器%d
- 22. SQL結果中有重複名稱
- 23. 如何使用HTML&ASP從SQL數據庫中搜索和顯示結果?
- 24. 當searchResults在同一個主Activity中時,如何顯示初始結果?
- 25. 如何使用AJAX顯示結果
- 26. 結果初始化的是未使用
- 27. NSDictionary初始化結果「EXC_BAD_ACCESS」
- 28. SQL:從條件循環顯示結果
- 29. 使用,其中設備名稱-contains並沒有得到結果
- 30. 如何使用列表初始化此類名稱
Downvote爲了什麼? – AlexP