除了通配符之外,使用星号(*)在mysql select语句中的含义是什么?

时间:2012-05-01 13:50:45

标签: mysql select

我遇到了一个看起来像这样的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

在这种情况下,*语句在*语句中的含义是什么?

3 个答案:

答案 0 :(得分:1)

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

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

如果some_field == 90some_date >= '2011-04-22',相应的术语将评估为0,从而将整个表达式转换为0.

答案 1 :(得分:0)

这是一个乘法运算。

示例2 * 3 = 6

答案 2 :(得分:0)

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

select 2 * 2 

= 4

:)