• 售前

  • 售后

热门帖子
入门百科

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

[复制链接]
123456806 显示全部楼层 发表于 2021-8-14 14:49:05 |阅读模式 打印 上一主题 下一主题
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
复制代码
执行如图:



比方:根据身份证判定该员工是否是男女,从而实现对性别的更新。
身份证号的第17位数字,奇数为男性,偶数为女性
SEX CHAR(1) NOT NULL, --** 性别: 1 男,2 女
  1. UPDATE table_name SET
  2. SEX = (CASE WHEN mod(identifynumber[17],2) = '1' THEN '1' ELSE  '2' end)
  3. WHERE condition;
复制代码
以上利用CASE WHER语句,还可以用decode函数。(DECODE函数用法)
比方:根据身份证号table2更新table1表员工的性别,生日,年龄。(下述利用的是Informix数据库)
  1. update table1  set
  2. sex = (select sex
  3.          from table2  
  4.         where table2.t_id = table1.t_id
  5.           and table2.t_no = table1.t_no),
  6. birthday = (select substr(identifynumber,7,8)
  7.               from table2         
  8.              where table2.t_id = table1.t_id
  9.                    and table2.t_no = table1.t_no),
  10. age = (select year(today) from dual) - ( select year( substr(identifynumber,7,8) )
  11.                                            from table2
  12.                                           where table2.t_id = table1.t_id
  13.                                             and table2.t_no = table1.t_no)
  14. where t_id = '';
复制代码
【实例】对 MOD(63,8)、MOD(120,10)、MOD(15.5,3) 举行求余运算,输入的 SQL 语句和执行效果如下所示。
  1. mysql> SELECT MOD(63,8),MOD(120,10),MOD(15.5,3);
  2. +-----------+-------------+-------------+
  3. | MOD(63,8) | MOD(120,10) | MOD(15.5,3) |
  4. +-----------+-------------+-------------+
  5. | 7 | 0 | 0.5 |
  6. +-----------+-------------+-------------+
  7. 1 row in set (0.03 sec)
复制代码
由运行效果可知,63 除以 8 余数是 7,120 除以 10 余数是 0,15.5 除以 3 余数是 0.5
到此这篇关于sql中mod()函数取余数的用法的文章就先容到这了,更多干系sql mod()取余数内容请搜刮脚本之家从前的文章或继续欣赏下面的干系文章盼望各人以后多多支持脚本之家!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

帖子地址: 

回复

使用道具 举报

分享
推广
火星云矿 | 预约S19Pro,享500抵1000!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

草根技术分享(草根吧)是全球知名中文IT技术交流平台,创建于2021年,包含原创博客、精品问答、职业培训、技术社区、资源下载等产品服务,提供原创、优质、完整内容的专业IT技术开发社区。
  • 官方手机版

  • 微信公众号

  • 商务合作