Mysql IF在声明中

时间:2014-03-03 16:41:13

标签: mysql

在我的用户表格中,我有一个字段hours,当我选择所有用户时,我还需要获得一个变量fullTime,该变量将基于if {{1} }等于hours。这是我可以在查询中执行的操作,而不是必须遍历所有用户吗?我有600多行,并且我尝试以最有效的方式执行此操作,因为这会在每次页面加载时发生。我在想7.4

之类的东西

编辑:使用SQL SELECT *, fullTime as (hours EQUALS 7.4) FROM users

2 个答案:

答案 0 :(得分:1)

如果小时= 7.4,则以下将返回fulltime = 1的列,否则返回fulltime = 0。

SELECT *, IF(hours = 7.4, 1, 0) AS fulltime FROM users

请注意,如果由于浮点数不准确,小时数为浮点数,则可能会失败。

答案 1 :(得分:1)

试试这个

 SELECT * , if(hours >= 7.4 ,col_time, hours) as fullTime  FROM users

解释:

如果小时> = 7.4(不仅仅是小时= 7.4但也更大。),您将获得存储完整日期的列,包括时间或整个时间。您甚至可以通过DATE_FORMAT更改它。否则你会得到5个小时或者什么。