首页 > 数据库 >17-基础SQL-函数-日期函数

17-基础SQL-函数-日期函数

时间:2023-11-24 16:57:18浏览次数:28  
标签:11 24 00 15 函数 17 16 SQL 2023

什么是函数:是指一段可以直接被另一段程序调用的程序或代码

MySQL的函数主要包括:字符串函数、数值函数、日期函数、流程函数。

日期函数

常见的日期函数如下:

CURDATE() 演示:返回当前日期

SELECT CURDATE();

CURTIME() 演示:返回当前时间

SELECT CURTIME();

NOW() 演示:返回当前日期和时间

SELECT NOW();

YEAR(date)、MONTH(date)、DAY(date) 演示:获取"2023-11-24 16:00:15" 中对应的年、月、日

SELECT YEAR("2023-11-24 16:00:15") AS year, MONTH("2023-11-24 16:00:15") AS month, DAY("2023-11-24 16:00:15") AS day;

DATE_ADD(date,INTERVAL expr type) 演示:获取"2023-11-24 16:00:15" ,往后的1天、1个月、1年的时间

SELECT "2023-11-24 16:00:15",
DATE_ADD("2023-11-24 16:00:15",INTERVAL 1 DAY) AS day,
DATE_ADD("2023-11-24 16:00:15",INTERVAL 1 MONTH) AS month,
DATE_ADD("2023-11-24 16:00:15",INTERVAL 1 YEAR) AS year;

DATE_SUB(date,INTERVAL expr type) 演示:获取"2023-11-24 16:00:15" ,往前的1天、1个月、1年的时间

SELECT "2023-11-24 16:00:15",
DATE_SUB("2023-11-24 16:00:15",INTERVAL 1 DAY) AS day,
DATE_SUB("2023-11-24 16:00:15",INTERVAL 1 MONTH) AS month,
DATE_SUB("2023-11-24 16:00:15",INTERVAL 1 YEAR) AS year

DATEDIFF(date1,date2) 演示:获取"2023-11-24"到"1996-12-31"之间的天数(第一个时间 减去 第二个时间)

SELECT DATEDIFF("2023-11-24","1996-12-31");

 

案例:创建一个 emp 员工表,添加一些员工数据

CREATE TABLE emp(
    id int comment "编号",
    workno varchar(10) comment "工号",
    name varchar(10) comment "姓名",
    gender char(1) comment "性别",
    age tinyint unsigned comment "年龄",
    idcard char(18) comment "身份证号",
    workaddress varchar(50) comment "工作地址",
    entrydate date comment "入职时间"
) comment "员工表";
INSERT INTO emp (id,workno,name,gender,age,idcard,workaddress,entrydate)
VALUES    
(1,"1","员工1","男","23","123456789000000000","江西","2022-8-31"),
(2,"2","员工2","男","26","123456789000000001","河北","2022-12-31"),
(3,"3","员工3","女","23","123456789000000002","河北","2022-5-31"),
(4,"4","员工4","女","24","123456789000000003","山西","2022-3-31"),
(5,"5","员工5","男","23","123456789000000000","江西","2022-8-21"),
(6,"6","员工6","男","26","123456789000000001","河北","2022-12-21"),
(7,"7","员工7","女","23","123456789000000002","河北","2022-5-21"),
(8,"8","员工8","女","24","123456789000000003","山西","2022-3-21"),
(9,"9","员工9","男","23","123456789000000000","江西","2022-8-11"),
(10,"10","员工10","男","26","123456789000000001","河北","2022-12-11"),
(11,"11","员工11","女","23","123456789000000002","河北","2022-5-11"),
(12,"12","员工12","女","24","123456789000000003","山西","2022-3-11")

1)查询所有员工的入职天数,并根据入职天数,倒序排序

SELECT *,DATEDIFF(NOW(),entrydate) AS "entrydays" FROM emp ORDER BY entrydays DESC;

 

标签:11,24,00,15,函数,17,16,SQL,2023
From: https://www.cnblogs.com/REN-Murphy/p/17854134.html

相关文章

  • SqlServer 数据库表死锁
    数据库表死锁 spid  锁表进程tableName  被锁表名declare@spid intSet@spid =618--锁表进程declare@sqlvarchar(1000)set@sql='kill'+cast(@spid asvarchar)exec(@sql)select  request_session_id  spid,OBJECT_NAME(resource_associated_entity_i......
  • sqlserver 中将存入值编码‘1,2,3’查询返回编码对应名称‘张三,李四,王五’
    select(selectMouldNamefrommould_MouldwhereMouldCode=a.MouldCode)MouldName,(selectSpecsfrommould_MouldwhereMouldCode=a.MouldCode)MouldSpecs,STUFF((SELECT','+f.ProcessNameFROMmes_ProcessfWHERECH......
  • mysql学习
    目录mysql语法规范NavicatforMysql的使用SELECT运行的本质基础查询语句最简单的查询查询字段重命名AS去重复DISTINCT字段连接CONCAT()字段值为空怎么填值mysql语法规范不区分大小写,但建议关键字大写,表名和列名小写每条命令用英文的分号结尾每条命令根据需要,可以进行缩......
  • 【ORACLE】OALL8 处于不一致状态 SQL Error: 17447, SQLState: null
    2023-11-24[http-nio-8080-exec-9]WARNorg.hibernate.engine.jdbc.spi.SqlExceptionHelper-SQLError:17447,SQLState:null2023-11-24[http-nio-8080-exec-9]ERRORorg.hibernate.engine.jdbc.spi.SqlExceptionHelper-OALL8处于不一致状态org.springframework.orm.jp......
  • docker-compose 安装Sql Server2019
    前言:本文将介绍如何在docker环境下搭建mssqlserver2019,帮助读者了解和使用。下面我将从所需基础环境,docker的安装,及docker-compose文件创建的几个方面展开介绍。一.基础环境虚拟机:Ubuntu20.04获取并下载:https://ubuntu.com/download/desktop安装虚拟机可以参考(博主:奔......
  • windows ubuntu 安装mysql
    一、介绍二、过程三、问题 一、介绍MySQL是一款开源的关系型数据库管理系统,是目前最流行的数据库之一。关键,免费,好用。二、过程1windows安装1.1下载下载地址:https://downloads.mysql.com/archives/installer/选择下面那......
  • mysql常用
    mysql自动更新时间自动获取创建时间:timestampnotnulldefaultCURRENT_TIMESTAMP自动获取更新时间:timestampnotnulldefaultCURRENT_TIMESTAMPonupdateCURRENT_TIMESTAMP  mysql datetimeMySQL导入数据库时报错:ERROR1292(22007):Incorrectdatetime......
  • 一文掌握MySQL多表查询技巧:告别繁琐操作,轻松搞定数据查询!
    在数据库的世界里,我们经常需要处理各种各样的数据。有时候,我们需要从多个表中查询数据,这时候就需要用到MySQL的多表查询了。今天,就让我们一起来了解一下MySQL多表查询的魅力吧!一、表的关系简介现实生活中,实体与实体之间肯定是有关系的,比如:部门和员工,老师和学生等。在设计表的时......
  • 16-基础SQL-函数-数值函数
    什么是函数:是指一段可以直接被另一段程序调用的程序或代码MySQL的函数主要包括:字符串函数、数值函数、日期函数、流程函数。数值函数常见的数值函数如下:CEIL(x)演示:对1.2进行向上取整SELECTCEIL(1.2);FLOOR(x)演示:对1.6进行向下取整SELECTFLOOR(1.6);MOD(x,......
  • PYTHON实现EXCEL数据导入MYSQL
    #coding=utf8importpymysqlimportosimportpandasaspdhost='127.0.0.1'port=3308user='root'password='*****'db='impairment_testing'conn=pymysql.connect(host=host,port=port,user=user,password=password,db=db......