SQLServer中mod()函数如何实现取余数
Admin 2022-08-04 群英技术资讯 2547 次浏览
这篇文章主要介绍了SQLServer中mod()函数如何实现取余数相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇SQLServer中mod()函数如何实现取余数文章都会有所收获,下面我们一起来看看吧。Mod(a,b) 在sql中的意思是 a / b 的余数(即 a % b )
基础用法:如果id需要是偶数或者奇数时就可以使用mod。
mod(id,2)=1 是指id是奇数。
mod(id,2)=0 是指id是偶数。
select mod(3,2) from dual
执行如图:

例如:根据身份证判定该员工是否是男女,从而实现对性别的更新。
身份证号的第17位数字,奇数为男性,偶数为女性
SEX CHAR(1) NOT NULL, --** 性别: 1 男,2 女
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数据库)
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 语句和执行结果如下所示。
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
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
这篇文章主要介绍了sql server定时作业调用Kettle job出错的快速解决方法,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
SqlDateTime溢出是什么原因?很多朋友对于SqlDateTime溢出情况不知怎样解决,首先要解决这个问题,我们要知道SqlDateTime溢出的原因,下面小编就给大家分享一下SqlDateTime溢出出现的情况原因,以及解决方法,有需要的朋友就接下往下看吧。
这篇文章主要介绍了使用SQL语句实现查询排序、顺序和倒序,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
在目前的工作中需要解决复制整个SqlServer数据库的问题,复制的内容包括数据库大纲、数据库中的存储过程、函数、表结构、主外键关系以及表中的所有数据等,也就是说copy版本与原数据库一模一样。经过一段时间的摸索,找到的一个比较简单的解决方
SQL MID() 函数用于从文本字段中提取字符,有不少朋友对于SQL MID函数比较感兴趣,下面小编给大家整理和分享了相关知识和资料,易于大家学习和理解,有需要的朋友可以借鉴参考,下面我们一起来了解一下吧。
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008