mysql-如何用十进制查找最大值

hm2xizp9  于 2021-06-21  发布在  Mysql
关注(0)|答案(2)|浏览(273)

**结束。**此问题需要详细的调试信息。它目前不接受答案。
**想改进这个问题吗?**更新问题,使其成为堆栈溢出的主题。

两年前关门了。
改进这个问题
在mysql表(books\u title)中有144条记录。列book\u progressive包含以下行的值:01.01 02.01 03.01。。。99.01 100.01 101.01 102.01 ... 144.01
使用此查询检查最大值时:

select max(book_progressive) from books_title

返回99.01,但最大值为144.01。
如何解决?
谢谢

6l7fqoea

6l7fqoea1#

看起来您的书\u progressive被声明为char/varchar而不是decimal。
更改列类型,或强制转换结果:

select max(CAST(book_progressive AS DECIMAL(10,2)) from books_title
pvabu6sv

pvabu6sv2#

我用lpad找到了一个解决方案,因为只有当字符数相等时才找到最大值

select max(lpad(book_progressive,6,0)) from books_title

桑斯

相关问题