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

 更新时间:2021年05月28日 16:47:31   作者:youngxuebo  
Mod(a,b) 在sql中的意思是a/b的余数,本文详细的介绍了sql中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

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

相关文章

  • SqlServer 数据库 三大  范式

    SqlServer 数据库 三大 范式

    本文将基于三大范式原则,结合具体的实例做简要分析,对SqlServer 数据库 三大 范式相关知识感兴趣的朋友一起看看吧
    2019-11-11
  • SQL Server索引的原理深入解析

    SQL Server索引的原理深入解析

    实际上,您可以把索引理解为一种特殊的目录,下面这篇文章主要给大家介绍了关于SQL Server索引原理的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2018-07-07
  • 创建动态MSSQL数据库表

    创建动态MSSQL数据库表

    下面是利用SQL语句创建数据库、表、存储过程、视图、索引、规则、修改表、查看数据等的方法。
    2009-06-06
  • SQL SERVER中SELECT和SET赋值相同点与不同点(推荐)

    SQL SERVER中SELECT和SET赋值相同点与不同点(推荐)

    SELECT和SET在SQL SERVER中都可以用来对变量进行赋值,但其用法和效果在一些细节上有些不同。今天小编给大家分享SQL SERVER中SELECT和SET赋值相同点与不同点,感兴趣的朋友一起看看吧
    2019-12-12
  • 如何强制删除或恢复SQLServer正在使用的数据库

    如何强制删除或恢复SQLServer正在使用的数据库

    如何强制删除或恢复SQLServer正在使用的数据库...
    2007-01-01
  • REPLICATE 以指定的次数重复字符表达式

    REPLICATE 以指定的次数重复字符表达式

    sql server以指定的次数重复字符表达式REPLICATE函数:REPLICATE函数用于以指定的次数重复字符表达式。
    2010-06-06
  • ASP.NET下向SQLServer2008导入文件实例操作方法

    ASP.NET下向SQLServer2008导入文件实例操作方法

    在Microsoft SQL Server2008以后的版本中,将删除image数据类型。在新的开发工作中将不适用此数据类型,并打算修改当前使用此数据类型的应用程序,改用varbinary(max)数据类型。
    2010-09-09
  • NetBeans连接SQL server数据库教程

    NetBeans连接SQL server数据库教程

    这篇文章主要介绍了NetBeans连接SQL server数据库教程,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-06-06
  • SQL数据库优化大总结之百万级数据库优化方案

    SQL数据库优化大总结之百万级数据库优化方案

    网上关于SQL优化的教程很多,但是比较杂乱。近日有空整理了一下,写出来跟大家分享一下,其中有错误和不足的地方,还请大家纠正补充
    2015-12-12
  • SQL中WITH AS的使用实现

    SQL中WITH AS的使用实现

    WITH AS短语,也叫做子查询部分,可以定义一个SQL片断,该SQL片断会被整个SQL语句用到,本文主要介绍了SQL中WITH AS的使用实现,具有一定的参考价值,感兴趣的可以了解一下
    2023-12-12

最新评论