SQL函数用于打印选定的值

时间:2016-11-08 19:16:55

标签: mysql

我的数据库有一个包含以下架构的表:

account(acno,amt)

acno int primary key
amt float(10,2)

我如何编写一个打印所有具有奇数余额的帐号的功能?

2 个答案:

答案 0 :(得分:0)

SELECT * FROM account WHERE MOD(amt, .02) > 0;

应该做的伎俩。

创建函数只是为了做一个简单的查询可以做的事情是没有意义的 - 也就是说,只输出符合条件的行。如果你真的需要一个函数,我猜你可以用一个函数来确定一个数字是奇数:

CREATE FUNCTION is_odd(amount float) RETURNS BOOLEAN
BEGIN
    DECLARE isodd BOOLEAN;
    SET isodd = TRUE;

    IF MOD(amount,.02) = 0 THEN
        SET isodd = FALSE;
    END IF;

 RETURN (isodd);
END

然后你可以在查询中使用它:

SELECT * FROM account where is_odd(amt);

答案 1 :(得分:0)

此查询返回奇数余额

SELECT acno, amt
  FROM 
  account
WHERE (amt % 2) > 0;