我的问题是缺少逗号。当我把头撞到桌子上时,随意删除这篇文章
我有一个数据库,它有几个实际上是整数的VARCHAR列,但由于某些原因,列需要是VARCHAR而不是INT。显然我的数字排序问题
7
8
9
10
排序为
10
7
8
9
我的SELECT语句使用多个连接和SELECT变量:
SELECT master.column1, table2.column1, table2.column2, table3.column1 FROM master
LEFT JOIN table2
ON master.column1 = table2.column1
WHERE master.column1 LIKE 'whatever'
OR WHERE master.column2 LIKE 'whatever'
ORDER BY master.column1, master.column2, master.column3....
有没有办法在其中一个变量上插入CAST函数?
即SELECT master.column1, CAST(table2.column1 AS UNSIGNED), table2.column2....
我没有成功尝试如上,并且MySql手册没有给出具有多个SELECT或ORDER BY变量的示例。
谢谢
答案 0 :(得分:1)
您可能希望在ORDER BY子句中使用CAST。
选择... ORDER BY master.column1,cast(master.column2 as varchar),master.column3 ....
在Select Clause中使用CAST只影响输出而不是排序。
答案 1 :(得分:0)
CAST方法在order by子句中是否可用?我不懂,它应该可以正常工作。