在具有多个SELECT或ORDER BY变量的SELECT查询(或ORDER BY)中使用MySql CAST函数

在具有多个SELECT或ORDER BY变量的SELECT查询(或ORDER BY)中使用MySql CAST函数,mysql,Mysql,我的问题是缺少一个逗号。当我把头撞到桌子上时,请随意删除这篇文章 我有一个数据库,它有几个实际上是整数的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 tab

我的问题是缺少一个逗号。当我把头撞到桌子上时,请随意删除这篇文章

我有一个数据库,它有几个实际上是整数的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函数

i、 e
选择master.column1、CAST(表2.column1为未签名)、表2.column2….

如上所述,我还没有成功尝试过,MySql手册也没有给出一个包含多个SELECT或ORDER BY变量的示例


谢谢

强制转换方法在order by子句中不可用吗?我不明白,它应该可以正常工作。

您可能希望在ORDERBY子句中使用CAST

选择。。。按master.column1、cast(master.column2作为varchar)、master.column3…排序


在Select子句中使用CAST只会影响输出,而不会影响排序。

谢谢。我在ORDER BY子句中使用了CAST,但出现了错误,因此假设它只对单个子句起作用,因为手册仅使用单个子句作为示例…错误在看到您的示例后,我看到了我缺少的内容…逗号。我想我现在要把头撞到桌子上了。