选择所有记录
我有A和Z 之间的值,我只想要选择的记录中,其中一个字符是> =“C”的列(char)的选择所有记录
谁能帮我这个? 我试过> ='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''不适合你。那是另一种方式。 –