SQL常用日期查询语句及显示格式设置

1.查询当前年、月、周相关时间

1.1.查询当前年份

SELECT TO_CHAR(SYSDATE,'YYYY') AS YEAR FROM DUAL--查询当前年份
SELECT TO_CHAR(SYSDATE,'YYY') AS YEAR FROM DUAL--查询当前年份后两位
SELECT TO_CHAR(SYSDATE,'YY') AS YEAR FROM DUAL--查询当前年份最后两位
SELECT TO_CHAR(SYSDATE,'Y') AS YEAR FROM DUAL--查询当前年份最后一位

1.2.查询当前年份第几天

SELECT TO_CHAR(SYSDATE,'DDD') AS DAYS FROM DUAL

1.3.查询当前月份第几天

SELECT TO_CHAR(SYSDATE,'DD') AS DAYS FROM DUAL

1.4.查询当前周的星期几

SELECT TO_CHAR(SYSDATE,'dy') AS WEEK FROM DUAL
SELECT TO_CHAR(SYSDATE,'day') AS WEEK FROM DUAL

1.5.查询当前年的第几天:

SELECT TO_CHAR(SYSDATE,'DDD') AS DAYS FROM DUAL

2.查询当前第几季度

SELECT TO_CHAR(SYSDATE,'Q') AS JD FROM DUAL

3.查询当前在一年内是第几周

SELECT TO_CHAR(SYSDATE,'IW') AS WEEKNUM FROM DUAL
SELECT TO_CHAR(SYSDATE,'WW') AS WEEKNUM FROM DUAL
SELECT TO_CHAR(SYSDATE,'W') AS WEEKNUM FROM DUAL

4.查询当前某年某月有多少天

SELECT TO_CHAR(last_day(to_date('2019/02/01','YYYY/MM/DD')),'DD') AS MONTH_DAYS_NUMBER FROM DUAL

5.查询当前的日期格式

SELECT TO_CHAR(SYSDATE,'YYYY/MM/DD') AS MONTH FROM DUAL--获取当前日期的'YYYY/MM/DD'格式:2020/01/02
SELECT TO_CHAR(SYSDATE,'YYYYMMDD') AS MONTH FROM DUAL--获取当前日期的'YYYYMMDD'格式:20200102
SELECT TO_CHAR(SYSDATE,'YYYYMMDD HH:MI:SS') AS now FROM DUAL--获取当前时间,精确到秒的12小时制格式:20200102 03:18:25
SELECT TO_CHAR(SYSDATE,'YYYYMMDD HH24:MI:SS') AS now FROM DUAL--获取当前时间,精确到秒24小时制的格式:20200102 15:18:13
SELECT TO_CHAR(SYSDATE,'YYYY/MM/DD HH24:MI:SS:PM:DY') AS now FROM DUAL--获取当前时间的格式,显示上、下午和星期几:2020/01/02 15:17:59:下午:星期四

6.查询距离当前时间一段时间间隔的时间,当前时间之前用“-”当前时间之后用“+”

SELECT TO_CHAR(SYSDATE, 'YYYY/MM/DD HH24:MI:SS') AS NOW,TO_CHAR(SYSDATE - INTERVAL '7' second,'YYYY/MM/DD HH24:MI:SS') AS PAST FROM DUAL --查询当前时间的7秒前时间
SELECT TO_CHAR(SYSDATE, 'YYYY/MM/DD HH24:MI:SS') AS NOW,TO_CHAR(SYSDATE - INTERVAL '7' minute,'YYYY/MM/DD HH24:MI:SS') AS PAST FROM DUAL --查询当前时间的7分钟前时间
SELECT TO_CHAR(SYSDATE, 'YYYY/MM/DD HH24:MI:SS') AS NOW,TO_CHAR(SYSDATE - INTERVAL '7'hour ,'YYYY/MM/DD HH24:MI:SS') AS PAST FROM DUAL --查询当前时间的7小时前时间
SELECT TO_CHAR(SYSDATE, 'YYYY/MM/DD HH24:MI:SS') AS NOW,TO_CHAR(SYSDATE - INTERVAL '7'day ,'YYYY/MM/DD HH24:MI:SS') AS PAST FROM DUAL --查询当前时间的7天前时间
SELECT TO_CHAR(SYSDATE, 'YYYY/MM/DD HH24:MI:SS') AS NOW,TO_CHAR(SYSDATE - INTERVAL '7'month ,'YYYY/MM/DD HH24:MI:SS') AS PAST FROM DUAL --查询当前时间的7月前时间
SELECT TO_CHAR(SYSDATE, 'YYYY/MM/DD HH24:MI:SS') AS NOW,TO_CHAR(SYSDATE - INTERVAL '7'year ,'YYYY/MM/DD HH24:MI:SS') AS PAST FROM DUAL --查询当前时间的7年前时间
SELECT TO_CHAR(SYSDATE, 'YYYY/MM/DD HH24:MI:SS') AS NOW,TO_CHAR(SYSDATE - 8*INTERVAL '7'hour ,'YYYY/MM/DD HH24:MI:SS') AS PAST FROM DUAL --查询当前时间参数年、月、日、时、分、秒乘以一个数字倍数之前的时间

到此这篇关于SQL常用日期查询语句及显示格式设置的文章就介绍到这了。希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • 在ACCESS和SQL Server下Like 日期类型查询区别

    最近在用ACCESS数据库是遇到的问题总结: 一.在ACCESS中LIKE的用法 Access里like的通配符用法是这样: "?"表示任何单一字符: "*"表示零个或多个字符: "#"表示任何一个数字 所以应该是: select * from databasename where fieldname like '*XX*' 但在SQL SERVER 里是用%表示零个或多个字符 二.如何在ACCESS查询datetime类型字段的日期范围数据 如

  • SQL利用游标遍历日期查询的过程详解

    需求:我有个存储过程,每次执行需要带入一个连续的日期.我想遍历执行出一个月的时间,怎么搞? 我本来的想法是:程序里面写一个for循环,循环里面循环传日期去执行这个存储过程. 但是同事告诉我用游标,我从来没用过,就尝试了一下,没想到成功了哈哈,记录一下! -- 1.声明游标变量 declare @begin_date varchar(50), @sumWeight varchar(50) -- 2.声明游标 declare date_cursor cursor for -- date_cursor

  • sqlserver中如何查询出连续日期记录的代码

    有在论坛上看到一帖,<请教查询出连续日期记录的方法>,截图如下: Insus.NET尝试写了程序并做了测试,可以得到预期的结果,SQL代码可参考和学习之用. 复制代码 代码如下: --创建一个临时表,将会存储连续日期的记录 CREATE TABLE #temp (IDD VARCHAR(10),SDATE DATETIME) DECLARE @sD DATETIME --开始日期 DECLARE @eD DATETIME --结束日期 --在记录中,找出开始与结束日期 SELECT @sD =

  • 在SQL中使用convert函数进行日期的查询的代码

    曾经遇到这样的情况,在数据库的Meeting表中有PublishTime (DateTime,8)字段,用来存储一个开会时间,在存入时由于要指明开会具体时间,故格式为yyyy-mm-dd hh:mm:ss,而我们查询时是通过yyyy-mm-dd来进行的,即查询某一天的所有会议信息,这样如果通过select * from Meeting where PublishTime=@PublishTime (参数@PublishTime为yyyy-mm-dd格式)语句进行查询将无法得到正确结果,比如我们要

  • SqlServer 查询时日期格式化语句

    SQL Server中文版的默认的日期字段datetime格式是yyyy-mm-dd Thh:mm:ss.mmm 例如: select getdate() 2004-09-12 11:06:08.177 整理了一下SQL Server里面可能经常会用到的日期格式转换方法: 举例如下: select CONVERT(varchar, getdate(), 120 ) 2004-09-12 11:06:08 select replace(replace(replace(CONVERT(varchar

  • sql 查询本年、本月、本日记录的语句,附SQL日期函数

    查询本日记录 SELECT * FROM messages WHERE CONVERT(Nvarchar, CreateDate, 111) = CONVERT(Nvarchar, GETDATE(), 111)   ORDER BY CreateDate DESC SELECT * FROM 表 WHERE datediff(day,列名,getdate())=0 查询本年 SELECT count(*) FROM messages WHERE datediff(year,CreateDate

  • SQL常用日期查询语句及显示格式设置

    1.查询当前年.月.周相关时间 1.1.查询当前年份 SELECT TO_CHAR(SYSDATE,'YYYY') AS YEAR FROM DUAL--查询当前年份 SELECT TO_CHAR(SYSDATE,'YYY') AS YEAR FROM DUAL--查询当前年份后两位 SELECT TO_CHAR(SYSDATE,'YY') AS YEAR FROM DUAL--查询当前年份最后两位 SELECT TO_CHAR(SYSDATE,'Y') AS YEAR FROM DUAL--查

  • SQL基础的查询语句

    目录 一.基础SELECT语句 1.查询指定字段 3.设定别名 4.常数的查询 5.表达式的查询 6.去重 7.条件查询 7.1 单条件查询 7.2 多条件查询 7.3 指定范围查询 7.4 模糊查询 SQL语句中,查询是使用最多的操作,SQL不仅能够查询表中的数据,还可以返回算术运算.表达式的结果等,接下来就一起了解一下基本的查询语句. 一.基础SELECT语句 1.查询指定字段 语法格式: SELECT <字段名>,... FROM <表名>; 在语句中可以指定多个字段,结果会

  • MySql日期查询语句详解

    使用DATE_FORMAT方法SELECT * FROM `ler_items` WHERE DATE_FORMAT(postTime,'%Y-%m')='2013-03'注意:日期一定要用'',否则没有效果其它的一些关于mysql日期查找语句mysql> select date_format(DATE_SUB(CURDATE(), INTERVAL 7 DAY),'%y%m%d');+-------------------–+| date_format(DATE_SUB(CURDATE(),

  • SQl 跨服务器查询语句

    select * from OPENDATASOURCE( 'SQLOLEDB', 'Data Source=远程ip;User ID=sa;Password=密码' ).库名.dbo.表名 insert 本地库名..表名 select * from OPENDATASOURCE( 'SQLOLEDB', 'Data Source=远程ip;User ID=sa;Password=密码' ).库名.dbo.表名 或使用联结服务器: --创建linkServer exec sp_addlinked

  • mysql中常用日期比较与计算函数

    MySql中时间比较的实现 unix_timestamp() unix_timestamp 函数可以接受一个参数,也可以不使用参数. 它的返回值是一个无符号的整数.不使用参数,它返回自1970年1月1日0时0分0秒到现在所经过的秒数, 如果 使用参数,参数的类型为时间类型或者时间类型的字符串表示,则是从1970-01-01 00:00:00到指定时间所经历的秒数. 有了这个函数,就可以很自然地把时间比较转换为一个无符号整数的比较. 例如,判断一个时间是否在一个区间内 unix_timestamp

  • oracle常用sql查询语句部分集合(图文)

    Oracle查询语句 select * from scott.emp ; 1.--dense_rank()分析函数(查找每个部门工资最高前三名员工信息) select * from (select deptno,ename,sal,dense_rank() over(partition by deptno order by sal desc) a from scott.emp) where a<=3 order by deptno asc,sal desc ; 结果: --rank()分析函数(

  • 日常收集常用SQL查询语句大全

    常用sql查询语句如下所示: 一.简单查询语句 1. 查看表结构 SQL>DESC emp; 2. 查询所有列 SQL>SELECT * FROM emp; 3. 查询指定列 SQL>SELECT empmo, ename, mgr FROM emp; SQL>SELECT DISTINCT mgr FROM emp; 只显示结果不同的项 4. 查询指定行 SQL>SELECT * FROM emp WHERE job='CLERK'; 5. 使用算术表达式 SQL>S

  • SQL Server SQL高级查询语句小结

    Ø 基本常用查询 --select select * from student; --all 查询所有 select all sex from student; --distinct 过滤重复 select distinct sex from student; --count 统计 select count(*) from student; select count(sex) from student; select count(distinct sex) from student; --top

  • SQL Sever查询语句大全集锦

    一. 简单查询 简单的Transact-SQL查询只包括选择列表.FROM子句和WHERE子句.它们分别说明所查询列.查询的 表或视图.以及搜索条件等. 例如,下面的语句查询testtable表中姓名为"张三"的nickname字段和email字段. 代码:SELECT `nickname`,`email`FROM `testtable`WHERE `name`='张三' (一) 选择列表 选择列表(select_list)指出所查询列,它可以是一组列名列表.星号.表达式.变量(包括局

  • SQL Server查询语句大全集锦

    一. 简单查询 简单的Transact-SQL查询只包括选择列表.FROM子句和WHERE子句.它们分别说明所查询列.查询的 表或视图.以及搜索条件等. 例如,下面的语句查询testtable表中姓名为"张三"的nickname字段和email字段. 代码:SELECT `nickname`,`email`FROM `testtable`WHERE `name`='张三' (一) 选择列表 选择列表(select_list)指出所查询列,它可以是一组列名列表.星号.表达式.变量(包括局

随机推荐