我有A和Z 之間的值,我只想要選擇的記錄中,其中一個字符是> =「C」的列(char)的選擇所有記錄
誰能幫我這個? 我試過> ='C',但這沒有奏效。在互聯網上我也找不到這個。所以我認爲這是一個很好的問題。
我有A和Z 之間的值,我只想要選擇的記錄中,其中一個字符是> =「C」的列(char)的選擇所有記錄
誰能幫我這個? 我試過> ='C',但這沒有奏效。在互聯網上我也找不到這個。所以我認爲這是一個很好的問題。
您可以使用ascii
值進行比較。
select * from tablename where ascii(colname) >= ascii('C')
這裏是另一種方法。
SELECT SUBSTRING_INDEX(YourColumn,'c',-1) FROM Yourtable;
是不是SUBSTRING打算只用於多個字符? – Bas
它可以用來獲取特定字符後面的字符串。看[鏈接](http://www.w3resource.com/mysql/string-functions/mysql-substring_index-function.php) –
字符串可以在MySQL與普通的比較操作符進行比較,所以這應該工作:
SELECT * FROM table WHERE col >= 'C'
請注意,字符串的確切排序順序(主要是區分大小寫)取決於你的字符集排序規則。也許這就是爲什麼它不適合你的原因。
您還可以使用ASCII()
函數返回一個字符的字符值,並比較這些:
SELECT * FROM table WHERE ASCII(col) >= ASCII('C')
請注意,這僅適用於單字節字符。對於多字節字符,您必須使用ORD()
而不是ASCII()
。
另一種方式是(再次使用您的字符集歸類的排序順序)使用STRCMP()
用於比較兩個字符串,返回0,如果字符串相同,-1,如果第一個參數小於第二個,和否則爲1。
SELECT * FROM table WHERE STRCMP(col, 'C') >= 0
非常感謝!是唯一的方法來做到這一點?或者你也知道一個不同的解決方案?只是出於好奇。 – Bas
我想知道爲什麼'col> ='C''不適合你。那是另一種方式。 –