我正在使用order by子句在MySQLWorkbench中运行查询,而我的返回表不是按字母顺序排列的。我的疑问是:
SELECT property_value FROM job_shared_context
WHERE property_key = "case-name"
Order BY property_value asc
我的回归表:
"cqroneponv;,'c"
"padding Case"
"pwTest1"
"pwTest5"
"test 1"
"test 1"
"Test Case 12"
"Test Case 2"
"test"
"test"
"Test1"
"Turtle Case"
我假设第9行和第10行的测试将在“pwTest5”和“test 1”之间进行字母顺序测试。
答案 0 :(得分:0)
如果您的字符串中有引号或任何其他非字母数字符号,它们将包含在排序计算中。很明显,有空格,破折号等等......
要在查询中明确忽略它们,这样的事情应该有效:
ORDER BY TRIM(BOTH '"' FROM property_value)
当然,您可以通过嵌套TRIM调用来修剪多个字符,如下所示:
ORDER BY TRIM(BOTH '_' FROM TRIM(BOTH '"' FROM property_value))