如何使用MySQL Greatest()函数返回最大数值?

f0brbegy  于 2023-03-07  发布在  Mysql
关注(0)|答案(1)|浏览(107)

有没有可能使用MySQL的GREATEST()函数返回集合中最大的数值,即使集合中有字符串值?
据我所知,GREATEST()函数返回最大的 value,即使它是一个字符串值,例如,下面的查询返回“N/A”而不是“3”:

SELECT GREATEST(1, 2, 3, "N/A");
--> "N/A"

在上面的例子中,有没有什么方法或技巧可以让我得到值“3”?

ovfsdjhp

ovfsdjhp1#

返回值3,但由于其中一个参数是字符串,因此GREATEST()返回的值不具有整数类型。
您可以通过以下任一方式修复它:

SELECT CAST(GREATEST(1, 2, 3, 'N/A') AS SIGNED);

SELECT GREATEST(1, 2, 3, CAST('N/A' AS SIGNED));

SELECT GREATEST(1, 2, 3, 'N/A'+0);

DBFiddle

相关问题