0

我遇到了一个如下所示的 mysql 查询:

SELECT
   SUM(some_amount*(some_field!=90)*(some_date < '2011-04-22')) 
 , SUM(some_amount*(some_field =90)*(some_date < '2011-04-22')*(another_field IS NULL))
FROM 
   some_table

在这种情况下,select 语句中的 * 是什么意思?

4

3 回答 3

1

看起来CAST()对于布尔到整数的转换不是必需的。乘法用于将不需要的行的总和转换为 0(使用 booleantrue可以转换为1false的事实0):

some_amount*(some_field!=90)*(some_date < '2011-04-22')

如果some_field == 90some_date >= '2011-04-22',则相应的项将计算为 0,从而将整个表达式转换为 0。

于 2012-05-01T13:57:37.147 回答
0

这是一个乘法运算。

示例 2*3=6

于 2012-05-01T13:52:44.040 回答
0

这是一个标准的乘法运算符,

select 2 * 2 

= 4

:)

于 2012-05-01T13:52:51.573 回答