0

以下是我的查询,我试图在 users.i_dob 上应用公式,如果插入值不为零,否则查询应该插入零。请让我知道如何修改以下实际查询以实现我的功能谢谢,

实际查询:

 INSERT IGNORE into age ( i_age)
                SELECT DISTINCT FLOOR((TO_DAYS(NOW())- TO_DAYS(FROM_UNIXTIME(users.i_dob))) / 365.25)
            FROM users

我想对查询做什么:

INSERT IGNORE into z_census ( i_age)
            SELECT IF (i_age == 0) i_age else FLOOR((TO_DAYS(NOW())- TO_DAYS(FROM_UNIXTIME(users.i_dob))) / 365.25)
            FROM users
4

2 回答 2

1

请参阅MySQL IF语法。它应该看起来像这样:

INSERT IGNORE into z_census (i_age)
SELECT IF(i_age=0, i_age,
    FLOOR((TO_DAYS(NOW())- TO_DAYS(FROM_UNIXTIME(users.i_dob))) / 365.25))
FROM users
于 2012-07-21T07:47:12.483 回答
1

http://dev.mysql.com/doc/refman/5.0/en/control-flow-functions.html#function_if

INSERT IGNORE into z_census ( i_age)
            SELECT IF((i_age = 0), i_age, FLOOR((TO_DAYS(NOW())- TO_DAYS(FROM_UNIXTIME(users.i_dob))) / 365.25))
            FROM users
于 2012-07-21T07:47:45.163 回答