首页 > 数据库 >mysql函数

mysql函数

时间:2022-09-25 21:15:02浏览次数:54  
标签:salary 函数 字符串 mysql date now select

日期函数

  • 返回当前日期,只包含年月日 select curdate()

  • 返回当前时间,只包含时分秒 select curtime()

  • 返回当前的日期和时间,年月日时分秒全都包含 select now()

提取具体日期类型

  • year() yearweek() ,hour(),month()等等
  • select year(now()) as '年',yearweek(now()) as '年,周',hour(now()) as '周',minute(now()) as '小时',month(now()) '月',monthname(now()) '月名字',dayofmonth(now()) as '当月多少日'
  • EXTRACT() 函数用于返回日期/时间的单独部分,比如年、月、日、小时、分钟等等。
  • (select extract(year from now()),extract(month from now()),extract(day from now()),extract(hour from now()),extract(minute from now()))

日期格式

  • DATE_FORMAT(date,fmt)函数:按字符串 fmt 格式化日期 date 值 (select date_format(now(),'%Y-%m-%d'))

日期运算

  • date_add(date,interval number dateType) example (select date_add(now(),interval 2 year) as 'add 2 year date')
    (select date_add(now(),interval -2 hour) as 'add 2')也可以传入负数即回到过去某个时间

  • date_sub(date,interval number dateType) example (select date_sub(now(),interval 2 year))

  • datediff(date,date) 计算两个日期之间相差的天数 (select datediff(now(),date_add(now(),interval 2 month)) as '计算两个日期之间相差天数')

流程函数

  • if 函数
create table salary (userid int,salary decimal(9,2));
insert into salary values(1,1000),(2,2000), (3,3000),(4,4000),(5,5000), (1,null);
  • (select if(s.salary>2000,'high','low'),s.salary from salary s)
  • IFNULL(value1,value2)函数:这个函数一般用来替换 NULL 值的,我们知道 NULL 值是不能参与数值运算的
  • (select ifnull(s.salary,0),s.salary from salary s)当检测到值的时候用0代替

数值函数

  • ABS(x)函数:返回 x 的绝对值
  • select abs(-56),abs(round(rand()*10))
  • cell(x)函数 返回大于 x 的最大整数值 相当于向上取
  • SELECT ceil(0.6),ceiling(0.3),ceil(round(rand()))
  • floor()返回小于 x 的最大整数值 相当于向下取
  • SELECT floor(0.6),floor(0.3),floor(round(rand()))
  • mod(x,y) 返回 x/y 的模
  • SELECT mod(5,3)
  • rand() 返回 0 到 1 内的随机值
  • ROUND(x,y) 返回参数 x 的四舍五入的有 y 位小数的值
  • SELECT round(2.5,3)
  • sum()函数
  • select sum(f.f_price) as '总价格' from fruits f

字符串函数

  • CANCAT(S1,S2,…Sn) 连接 S1,S2,…Sn 为一个字符串
  • SELECT concat('hello','wrold'),concat(curdate(),' ',curtime())
  • INSERT(str,x,y,instr) 将字符串 str 从第 x 位置开始,y 个字符长的子串替换为字符串 instr(可以用作修改和删除以及增加)
  • SELECT insert('Highlights of Premier Li''s news conference',11,0,'---') 在index=11 取0个字符串替换为xxx
  • REPEAT(str,x) 返回 str 重复 x 次的结果
  • select REPEAT('Tech aims to help restless sleepers \n',3) 字符串重复3次
  • REPLACE(str,a,b)函数:用字符串 b 替换字符串 str 中所有出现的字符串 a。
  • select replace('hello_world!','_',' ') 把下划线替换为空格
  • SUBSTRING(str,x,y)函数:返回从字符串 str 中的第 x 位置起 y 个字符长度的字串。此函数经常用来对给定字符串进行字串的提取(ps也可以用作随机字符串)
  • select substring('Century-old folding fan store attracts foreign apprentice',12,8) 截取字符串函数
  • length() 获取字符串长度 select length(''+uuid_short()) as uuidShort , length(uuid()) 这里使用了mysql的uuid

标签:salary,函数,字符串,mysql,date,now,select
From: https://www.cnblogs.com/noatnu/p/16728910.html

相关文章

  • mysql_数据库设计三范式
    设计关系数据库时,遵从不同的规范要求,设计出合理的关系型数据库,这些不同的规范要求被称为不同的范式,各种范式呈递次规范,越高的范式数据库冗余越小。目前关系数据库有六......
  • mysql事务
    什么是事务一系列有序的数据库操作:要么全部成功要么全部回退到操作前的状态中间状态对其他连接不可见事务的基本操作:|基本操作|说明||:-------------|:-......
  • mysql 数据库设计的规范
    数据库设计的规范数据库表和字段都大写表都要加业务后缀,例如_C客户表_B基础表_P权限表必须有主键,主键是表名去掉业务后缀,加_ID,大多表的主键使用UUID字段多个单词时,......
  • mysql正则表达式
    一:数据准备CREATETABLE`t_user`(`USER_ID`intNOTNULLAUTO_INCREMENT,`USER_NAME`char(255)CHARACTERSETutf8COLLATEutf8_general_ciNOTNULL,`US......
  • mysql运维
    一:备份1:备份内容数据(数据文件或文本格式数据)操作日志(binlog)(数据库变更日志)2:冷备份与热备份冷备份(关闭数据库服务,完整拷贝数据文件)热备份......
  • mysql存储过程
    MySQLmysql存储过程概述存储过程是存储在数据库的一组SQL语句集,用户可以通过存储过程名和传参多次调用的程序模块。特点:使用灵活,可以使用流控制语句,自定义变量等完......
  • mysql索引
    索引MySQL使用索引快速查找具有特定列值的行。如果没有索引,MySQL必须扫描整个表以找到相关的行。较大的表,搜索速度越慢。索引由类型和方法组成(有的时候你没有指定就......
  • mysql触发器
    SQL触发器简介SQL触发器是存储在数据库目录中的一组SQL语句。只要与表关联的事件发生,例如插入,更新或删除,就会执行或触发SQL触发器SQL触发器的优点SQL触发器提供了另......
  • MySQL数据表的创建、修改、删除及基本操作
    1.在mysql中,可以使用 CREATETABLE 语句创建表。其语法格式为:转自:https://www.cnblogs.com/bigbigbigo/p/10917429.html/*建表的语法*/createtable[ifnotexist]......
  • mysql用户与权限
    mysql.version=5.7(必须注意版本)创建用户(CREATEUSER'bob'@'%'IDENTIFIEDBY'07fa533360d9';)创建bob用户密码:07fa533360d9(CREATEUSER"test"@"localh......