我有一个列(char),其值介于A和Z之间 我只想选择char为> ='C'
的记录任何人都可以帮我吗? 我试过> ='C',但这不起作用。我也无法在互联网上找到任何相关信息。所以我认为这是一个很好的问题。
答案 0 :(得分:3)
您可以使用ascii
值进行比较。
select * from tablename where ascii(colname) >= ascii('C')
答案 1 :(得分:0)
这是另一种方法。
SELECT SUBSTRING_INDEX(YourColumn,'c',-1) FROM Yourtable;
答案 2 :(得分:0)
可以在MySQL中将字符串与常规比较运算符进行比较,因此这应该有效:
SELECT * FROM table WHERE col >= 'C'
请注意,字符串的确切排序顺序(主要是区分大小写)取决于您的字符集排序规则。也许这就是它不适合你的原因。
您还可以使用ASCII()
函数,该函数返回单个字符的字符值,并进行比较:
SELECT * FROM table WHERE ASCII(col) >= ASCII('C')
请注意,这仅适用于单字节字符。对于多字节字符,您必须使用ORD()
而不是ASCII()
。
另一种方法是使用STRCMP()
比较两个字符串(同样,使用字符集排序的排序顺序),如果字符串相同则返回0,如果第一个参数小于第二,其他1。
SELECT * FROM table WHERE STRCMP(col, 'C') >= 0