数据库中的八大函数(聚合,数字,字符串,日期和时间,条件,系统信息,加密,格式化)

一.函数
    1.聚合函数
        sum() avg() count() min() max()
    2.数学函数
        主要用于处理数字 包括整型 浮点型
        /*数学函数*/
        SELECT FLOOR(1.5)/*返回小于或者等于参数的最大整数*/floor向下取整
        SELECT RAND()/*返回0-1的随机数*/
        SELECT ROUND(RAND()*10)/*返回离round(x) x最近的整数 小数点后四舍五入*/
        SELECT ROUND(1.23456,3);/*round(x,y) 保留x小数点后y位 但截取时 会进行四舍五入*/
    3.字符串函数
        最常用的一类函数 主要用于处理表中的字符串
        /*字符串函数*/
        /*lower小写 upper大写*/
        SELECT LOWER(ename) FROM emp;
        SELECT UPPER(ename) FROM emp;
        /*返回字符串的长度 length(x)
        获取 emp表中 名字长度为5的所有员工*/
        SELECT * FROM emp WHERE LENGTH(ename)=5
        /*将多个字符串 合并为一个字符串*/
        SELECT CONCAT("abc","123456")
        /*替换 replace(str,search_str,replace_str) 在str中 将search_str 替换为replace_str */
        SELECT REPLACE("hello java 1801 ok","java","千锋");
        /*截取 substring(str,position,length) 从str字符串中position开始 取length个字符 默认索引从1开始*/
        SELECT SUBSTRING("hello java",1,2);
        /*去空格 ltrim(str) rtrim(str)*/
        SELECT LTRIM("    3018年")//去左空格
        SELECT RTRIM("    3018年         ")//去有空格
        SELECT LTRIM(RTRIM("    3018年         "))
    4.日期和时间函数
        /*日期和时间函数*/
        SELECT CURDATE()/*返回当前日期*/
        SELECT CURTIME()/*返回当前时间*/
        SELECT NOW()/*返回当前日期和时间*/
        SELECT MONTH("2011-11-2")
        SELECT YEAR(NOW())
        /*返回日期当中的月份的英文名*/
        SELECT MONTHNAME(NOW())
        /*返回日期星期几 英文*/
        SELECT DAYNAME(NOW())
        /*返回一周的第几天 星期日开始*/
        SELECT DAYOFWEEK(NOW())
        /*日期是本年的第几个星期 */
        SELECT WEEK(NOW())
        /*返回小时*/
        SELECT HOUR(NOW())
        /*返回分钟*/
        SELECT MINUTE(NOW())
        /*返回 秒*/
        SELECT SECOND(NOW())
        /*获取入职时间在30年以上的员工信息*/
        SELECT * FROM emp WHERE (YEAR(NOW())-YEAR(hiredate))>=30
        /*获取7369的年龄*/
        SELECT DATEDIFF("1981-1-17","1980-12-17");
        SELECT DATEDIFF(NOW(),emp.hiredate)/365 FROM emp WHERE empno=7369
    5.条件函数
        ifnull(x,y)
        如果x的值为null 就用y的值替换

if(expr,x,y)
        如果表达式expr成立 则返回结果x 否则返回y
        SELECT IF(1>0,"正确","错误")
    6.系统信息函数
        ip地址相互转换 /*将给定的ip地址转成数字*/

就是QQ异地登录,它会记录你经常登录的地址,如果你换电脑(IP不同)会提示
        SELECT INET_ATON("127.0.0.1")
        /*将给定数字转成ip地址*/
        SELECT INET_NTOA(2130706433)
    7.加密函数
        mysql对数据进行加密的函数
        password(str)
            可以对字符串str 进行加密 一般用于给用户的密码进行加密
        md5(str)
            可以对字符串进行散列
            可以用于一些不需要解密的数据

SELECT PASSWORD("123")//加密
            SELECT MD5("123")//解密
    8.格式化函数
        format 函数在mysql中对数据内容进行格式化
        SELECT FORMAT(100000,2);
        SELECT FORMAT(100.31111,2);
        SELECT FORMAT(100.31111,0);
        SELECT FORMAT(432432234.65534453,2);
        /*可以格式化数据为整数 或者浮点数 具有四舍五入的功能*/

原文地址:https://www.cnblogs.com/wanghuaying/p/9487473.html

时间: 2024-07-29 06:51:17

数据库中的八大函数(聚合,数字,字符串,日期和时间,条件,系统信息,加密,格式化)的相关文章

MySql数据库中的datediff函数

MySql数据库中的datediff函数:主要是用来返回两个日期之间相隔的天数   一半情况下是大日期在前,小日期在后的 这样写也是能够运行的 要注意查询结果: 原文地址:https://www.cnblogs.com/dongyaotou/p/12080565.html

mysql数据库中不能插入0000-00-00 00:00:00日期数据(报错Invalid datetime format: 1292 Incorrect datetime value: '0000-00-00 00:00:00')

报错信息 SQLSTATE[22007]: Invalid datetime format: 1292 Incorrect datetime value: '0000-00-00 00:00:00' for column 'settlementTime' at row 1 我最后把mysql设置成可空,接受null型 参考:https://yq.aliyun.com/articles/17124 mysql数据库中不能插入0000-00-00 00:00:00日期数据(报错Invalid dat

Sql Server函数全解<四>日期和时间函数

原文:Sql Server函数全解<四>日期和时间函数   日期和时间函数主要用来处理日期和时间值,本篇主要介绍各种日期和时间函数的功能和用法,一般的日期函数除了使用date类型的参数外,也可以使用datetime类型的参数,但会忽略这些值的时间部分.相同的,以time类型值为参数的函数,可以接受datetime类型的参数,但会忽略日期部分. 1.获取系统当前日期的函数getDate();  getDate()函数用于返回当前数据库系统的日期和时间,返回值的类型为datetime.[例]sel

python3数字、日期和时间

1.对数值进行取整 #使用内建的round(value,ndigits)函数来取整,ndigits指定保留的位数,在取整时会取值在偶数上,如1.25取一位会取整1.2,1.26会取整1.3 In [1]: round(1.23,1) Out[1]: 1.2 In [2]: round(1.25,1) Out[2]: 1.2 In [3]: round(1.26,1) Out[3]: 1.3 In [4]: round(1.2645,3) Out[4]: 1.264 #如果参数ndigits为负数

在数据库中使用表值函数分割字符串

新建表值函数: Create function [dbo].[f_split](@SourceSql varchar(8000),@StrSeprate varchar(10)) returns @temp table(a varchar(100)) as begin declare @i int set @SourceSql=rtrim(ltrim(@SourceSql)) set @i=charindex(@StrSeprate,@SourceSql) while @i>=1 begin i

freemarker内置函数,数字,字符串,日期格式化

一.  Sequence的内置函数 1.  sequence?first 返回sequence的第一个值. 2.  sequence?last  返回sequence的最后一个值. 3.  sequence?reverse 将sequence的现有顺序反转,即倒序排序 4.  sequence?size    返回sequence的大小 5.  sequence?sort    将sequence中的对象转化为字符串后顺序排序 6.  sequence?sort_by(value) 按seque

在Oracle数据库中实现SqlServer数据库中的NewID()函数功能

因为我是使用.NET C#进行开发,所以平时会使用SqlServer的NewID()函数来生成数据的ID. 在C#语言中也可以很方便地使用Guid.NewGuid().ToString()方法来生成格式一样的ID. 现在数据库换成了Oracle,没有类似的函数可以方便地调用,但是Oracle中自带一个函数SYS_GUID(). 返回的是一串二进制的数据,可以通过CAST转换成VARCHAR类型后就是类似SqlServer中NewID()方法生成的ID的样子了. 我们只要再做下手脚,往里面插入几个

SQL中CONVERT()转化函数的用法 字符串转日期

1 SELECT CONVERT(varchar(100), GETDATE(), 0): 05 16 2006 10:57AM 2 SELECT CONVERT(varchar(100), GETDATE(), 1): 05/16/06 3 SELECT CONVERT(varchar(100), GETDATE(), 2): 06.05.16 4 SELECT CONVERT(varchar(100), GETDATE(), 3): 16/05/06 5 SELECT CONVERT(var

oracl数据库中的substr()函数的用法

substr:字符串截取. 1.substr:(字符串 | 列 ,开始点):从开始一直截取到结尾. select substr(zym,2) from bqh4 2.substr:(字符串 | 列 ,开始点 结束点):从开始-结束截取 select substr(zym,2,5) from bqh4 3.要求截取zym的后三位: 正常思路:通过长度减数字确定开始点.select substr(zym,length(zym)-2) from bqh4 新思路:设置负数,表示从后指定截取位置sele