服务器之家

服务器之家 > 正文

sql中mod()函数取余数的用法

时间:2021-08-08 22:29     来源/作者:youngxuebo

Mod(a,b) 在sql中的意思是 a / b 的余数(即 a % b )

基础用法:如果id需要是偶数或者奇数时就可以使用mod。

mod(id,2)=1 是指id是奇数。

mod(id,2)=0 是指id是偶数。

?
1
select mod(3,2) from dual

执行如图:

sql中mod()函数取余数的用法

例如:根据身份证判定该员工是否是男女,从而实现对性别的更新。
身份证号的第17位数字,奇数为男性,偶数为女性
SEX CHAR(1) NOT NULL, --** 性别: 1 男,2 女

?
1
2
3
UPDATE table_name SET
SEX = (CASE WHEN mod(identifynumber[17],2) = '1' THEN '1' ELSE  '2' end)
WHERE condition;

以上使用CASE WHER语句,还可以用decode函数。(DECODE函数用法

例如:根据身份证号table2更新table1表员工的性别,生日,年龄。(下述使用的是Informix数据库)

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
update table1  set
sex = (select sex
         from table2 
        where table2.t_id = table1.t_id
          and table2.t_no = table1.t_no),
birthday = (select substr(identifynumber,7,8)
              from table2        
             where table2.t_id = table1.t_id
               and table2.t_no = table1.t_no),
age = (select year(today) from dual) - ( select year( substr(identifynumber,7,8) )
                                           from table2
                                          where table2.t_id = table1.t_id
                                            and table2.t_no = table1.t_no)
where t_id = '';

【实例】对 MOD(63,8)、MOD(120,10)、MOD(15.5,3) 进行求余运算,输入的 SQL 语句和执行结果如下所示。

?
1
2
3
4
5
6
7
mysql> SELECT MOD(63,8),MOD(120,10),MOD(15.5,3);
+-----------+-------------+-------------+
| MOD(63,8) | MOD(120,10) | MOD(15.5,3) |
+-----------+-------------+-------------+
| 7 | 0 | 0.5 |
+-----------+-------------+-------------+
1 row in set (0.03 sec)

由运行结果可知,63 除以 8 余数是 7,120 除以 10 余数是 0,15.5 除以 3 余数是 0.5

到此这篇关于sql中mod()函数取余数的用法的文章就介绍到这了,更多相关sql mod()取余数内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文链接:https://blog.csdn.net/qq_32783151/article/details/115080793

标签:

相关文章

热门资讯

yue是什么意思 网络流行语yue了是什么梗
yue是什么意思 网络流行语yue了是什么梗 2020-10-11
2020微信伤感网名听哭了 让对方看到心疼的伤感网名大全
2020微信伤感网名听哭了 让对方看到心疼的伤感网名大全 2019-12-26
背刺什么意思 网络词语背刺是什么梗
背刺什么意思 网络词语背刺是什么梗 2020-05-22
苹果12mini价格表官网报价 iPhone12mini全版本价格汇总
苹果12mini价格表官网报价 iPhone12mini全版本价格汇总 2020-11-13
2021德云社封箱演出完整版 2021年德云社封箱演出在线看
2021德云社封箱演出完整版 2021年德云社封箱演出在线看 2021-03-15
返回顶部