![使用转换函数时如何在 mysql 中创建表](https://linux22.com/image/895432/%E4%BD%BF%E7%94%A8%E8%BD%AC%E6%8D%A2%E5%87%BD%E6%95%B0%E6%97%B6%E5%A6%82%E4%BD%95%E5%9C%A8%20mysql%20%E4%B8%AD%E5%88%9B%E5%BB%BA%E8%A1%A8.png)
这是我的表,包含 empid、salary_percentage:
empid salary_percentage
10001 78.98
10002 60.94362
10003 75.887278
10004 0
10005 100
10006 45.992772
我使用这个查询来获取 salary_percentage 的降序
select empid , salary_percentage from table order by cast(salary_percentage as unsigned) DESC;
我得到了这样的输出
empid salary_percentage
10005 100
10001 78.98
10003 75.887278
10002 60.94362
10006 45.992772
10004 0
但如果我想为此创建一个表,我会收到一个错误:
create table table2(select empid , salary_percentage from per order by cast(salary_percentage as unsigned) DESC);
error:Truncated incorrect INTEGER value: '60.94362'
我该如何纠正这个问题?