SQLServer中mod()函数实现取余数的方法
发布时间:2023-12-24 09:58:56 所属栏目:MsSql教程 来源:DaWei
导读: 这篇文章主要介绍了SQLServer中mod()函数如何实现取余数相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇SQLServer中mod()函数如何实现取余数文章都会有所收获
这篇文章主要介绍了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 “SQLServer中mod()函数如何实现取余数”的内容就介绍到这里了,感谢大家的阅读。 (编辑:站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- sql-server – SQL Server 2008 R2错误:15023,用户,组或角
- “冲击波”变种现身 感染速度每小时2500台
- 数据库 – 为什么他们使用DBMS_STATS.GATHER_TABLE_STATS?
- 利用 ApsaraDB For SQL Server各版本高效而低廉地实现关键业
- sql2008r2下载安装
- sql-server – 我有关于死锁的数据,但我无法理解它们为什么
- sql-server – 在维度中动态定义范围
- sql-server – 从MSSQL2005到MYSQL 5.x的单向复制
- Excel中关于日期时间的小知识小技巧,你还记得多少?
- 微软透露正开发网上扫黄接口标准
推荐文章
站长推荐