mysql中的huge()函数返回blob

时间:2016-02-08 11:14:35

标签: mysql

我正在尝试使用mysql的最大功能,但如果我尝试从子查询中添加一列,它会返回blob值,我尝试使用mysql {{1}我也试过workbench但结果是一样的。

以下是我的SQL查询:

phpmyadmin

这里的值是从一些子查询中获取的。

当我在函数中添加select greatest(pm10index,pm2index,noindex,so2index,o3index,nh3index,coindex) from table ; 列时会出现问题,如果从函数中删除了此特定列pm10index,则会正确返回最高值。

以下是pm10index

的值
pm10index

pm10, (CASE when pm10 = 0 then 0 when pm10 <=50 then pm10 when pm10 >50 and pm10 <=100 then pm10 when pm10 >100 and pm10 <=250 then 100+(pm10-100)*0.666 when pm10 >250 and pm10 <=350 then 200+(pm10-250) when pm10 >350 and pm10 <=430 then 300+(pm10-350)*1.25 when pm10 >430 then 400+(pm10-430)*1.25 END) pm10index 定义为pm10数据类型,而所有其他字段也定义为varchar

如果你能在这里帮助我,那就太好了。提前致谢 。

1 个答案:

答案 0 :(得分:1)

  

以下是pm10index的值... pm10定义为varchar数据类型

您提供的代码中没有varchar(或任何类型的字符串)。即使您确实将数据转换为varchar,您最终也会得到奇怪的结果(尝试select greatest('2','100');)。

虽然MySQL会尽力比较字符串和数字,但它迟早会破坏。除非您至少拥有一致的数据类型(实际上它应该是正确的数据类型),否则您的代码将无法依赖。