首页 > 数据库 >SQLServe日期相关

SQLServe日期相关

时间:2024-08-05 20:26:07浏览次数:18  
标签:03 MONTH 2024 日期 SQLServe 相关 SELECT GETDATE

1. 日期函数

1.1 获取当前日期GETDATE

SELECT GETDATE() AS DT

结果: 2024-08-05 08:03:13

1.2 日期加减函数DATEADD

DATEADD() 函数在日期中添加或减去指定的时间间隔。

语法:DATEADD(datepart,number,date)

其中参数的解释如下:

  • datepart: 需要添加的日期部分,如年(YEAR)、季度(QUARTER)、月(MONTH)、周(WEEK)、天(DAY)、小时(HOUR)、分钟(MINUTE)、秒(SECOND)等。
  • interval: 需要添加的时间间隔,可以为正数或负数。
  • datetime: 要进行加、减操作的日期。

datepart参数可以是下列缩写:

年                      yy, yyyy
季度                  qq, q
月                      mm, m
年中的日           dy, y
日                      dd, d
周                      wk, ww
星期                  dw, w
小时                  hh
分钟                  mi, n
秒                      ss, s
毫秒                  ms
微妙                  mcs
纳秒                  ns

 实例:

1.年份加1

SELECT DATEADD(YEAR,1,'2024-02-03 03:09:18') as NEXT_YEAR

 结果:2025-02-03 03:09:18

2.月份减1

SELECT DATEADD(MONTH,-1,'2024-02-03 03:09:18') AS LAST_MONTH

结果:2024-01-03 03:09:18

1.3 日期差值DATEDIFF

DATEDIFF() 用于计算两个日期之间的时间间隔。它接受三个参数:时间间隔单位、开始日期和结束日期,并返回两个日期之间的单位时间间隔。(请注意,第二个日期比第一个日期早,结果将是一个负数)

语法:DATEDIFF(interval, start_date, end_date)

 实例:

计算日期差值

SELECT DATEDIFF(DAY,'2024-06-05','2024-08-05') AS DiffDate

 结果:61

1.4 年月最后一天EMONTH

SELECT EOMONTH('2023-04-19') AS LastDayOfMonth;

结果:2023-04-30 

1.5 返回日期指定部分作为字符串DATENAME

用于返回日期/时间值的指定部分(如年、月、日)作为字符串

语法:DATENAME ( datepart , date )

其中:

  • datepart 是你想要返回的日期/时间部分。例如,yearmonthday 等。
  • date 是你想要从中提取日期部分的日期/时间值。

 实例:

SELECT DATENAME(YEAR,'2024-09-01') as YEAR_STR

返回字符类型 2024 

 1.6 返回日期指定部分作为整形DATEPART

 用于返回日期/时间值的指定部分(如年、月、日)作为整形

语法:DATEPART ( datepart , date )

SELECT DATEPART(YEAR,'2024-09-01') as YEAR_INT

返回整数类型 2024 

2. 特殊日期获取

2.1 上月月初

SELECT DATEADD(dd,-DAY(dateadd(MONTH,-1,GETDATE()))+1,dateadd(MONTH,-1,GETDATE()))

结果: 2024-07-01 08:03:13

2.2 上月月底

SELECT DATEADD(dd,-DAY(GETDATE()),GETDATE())

结果: 2024-07-31 08:03:13

2.3 本月月初

SELECT DATEADD(MONTH,datediff(MONTH,0,GETDATE()),0)

结果:2024-08-01 08:03:13

2.4 本月月底 

SELECT  DATEADD(dd,-DAY(dateadd(MONTH,1,GETDATE())),dateadd(MONTH,1,GETDATE())) 

 结果:2024-08-31 08:03:13

2.5 下月月初

SELECT DATEADD(dd,-DAY(dateadd(MONTH,1,GETDATE()))+1,dateadd(MONTH,1,GETDATE()))

 结果:2024-09-01 08:03:13

2.6 下月月底

SELECT DATEADD(dd,-DAY(dateadd(MONTH,2,GETDATE())),dateadd(MONTH,2,GETDATE())) 

 结果:2024-09-30 08:03:13

3. 日期格式转换

3.1 FORMAT函数

日期函数FORMAT()可以用来格式化日期。

语法:FORMAT ( value, format [, culture ] )

  • value: 要格式化的日期或时间值。
  • format: 指定日期或时间的输出格式的字符串。
  • culture: (可选)指定地区性规则的字符串。

 实例:

SELECT FORMAT(GETDATE(), 'yyyy-MM-dd HH:mm:ss') AS F_DT;

结果:2024-08-05 08:03:13

 3.2 CONVERT函数

CONVERT() 函数是把日期转换为新数据类型的通用函数,CONVERT() 函数可以用不同的格式显示日期/时间数据。此样式一般在时间类型(datetime,smalldatetime)与字符串类型(nchar,nvarchar,char,varchar)

相互转换的时候才用到.

语法:CONVERT(data_type[(length)],expression[,style])

data_type[(length)] 表示要转换成的数据类型及其长度,expression 是要转换的表达式,style 是转换的样式代码。

实例:

SELECT CONVERT(nvarchar(50),GETDATE() ,112)

结果:20240805

其中112表示时间格式为yyyymmdd

 常见时间格式有

101:mm/dd/yyyy
110:mm-dd-yyyy
111:yyyy/mm/dd/
112:yyyymmdd
120:yyyy-mm:dd hh:mm:ss
121:yyyy-mm:dd hh:mm:sssssss

标签:03,MONTH,2024,日期,SQLServe,相关,SELECT,GETDATE
From: https://blog.csdn.net/weixin_63814296/article/details/140933328

相关文章

  • 线程相关个人笔记总结
    什么是线程和进程进程是一个程序的实例,线程是进程中的实体,一个进程有多个线程线程的创建方式1.继承Thread类重写run() 创建一个类继承自Thread类,并重写run()方法来定义线程执行的任务。通过创建该类的实例并调用start()方法来启动线程。classMyThreadextends......
  • 查看linux系统的相关配置命令
    1、查看系统基本信息uname[选项]-a显示所有的信息-s显示内核信息-r显示内核版本-o显示操作系统名称-m硬件架构2、查看cpu相关信息lscpu​3、查看内存相关信息free[选项]-m以m为单位显示-h以人类可读显示4、系统实时状态top命令可以实时地显示系......
  • pnpm-lock.yaml文件对项目构建有影响吗 pnpm-lock.yaml本地变更需要提交相关变更吗
    pnpm-lock.yaml文件是Pnpm包管理器生成的锁文件,用于锁定项目依赖的确切版本。这个文件确保了在不同环境中安装依赖时,所有开发者和部署系统都能获得一致的依赖树。对项目构建的影响:一致性:pnpm-lock.yaml确保了项目依赖的一致性,无论在哪个环境或哪个开发者的机器上构建项目,......
  • Apple开发_正则表达式相关
    NSString+Regex.h#import<Foundation/Foundation.h>//正则表达式相关@interfaceNSString(Regex)//邮箱验证-(BOOL)is_Email;//手机号码验证-(BOOL)is_Phone_Num;//车牌号验证-(BOOL)is_Car_No;//网址验证-(BOOL)is_Url;//邮政编码-(BOOL)is_......
  • 日期时间类
    日期时间类一.Date类(日期时间)在Java中,Date类是java.util包的一部分,用于表示一个特定的瞬间,精确到毫秒。然而,需要注意的是,Date类本身并不包含任何时区信息,它仅仅表示自“Unix纪元”(即1970年1月1日00:00:00GMT)以来的毫秒数。因此,当你创建一个Date对象时,它实际上表示的是从那个......
  • js获取未来n天的时间并返回是否是今天,日期yyyy-mm-dd和星期
    js获取未来n天的时间.md2024.02.02(今天)如果传入5则获取未来5天的时间数组[ {date:"2024-02-02,"isToday:true,week:"星期五"}, {date:"2024-02-03,"isToday:false,week:"星期六"}, {date:"2024-02-04,"isToday:false,week:"星期日"......
  • el-date-picker周选择器获取选择的日期范围
    el-date-picker周选择器获取选择的日期范围<el-date-pickerv-model="formData.date"type="week"format="yyyy第WW周"placeholder="选择周"@change="weekChange"&......
  • el-date-picker月选择器获取选择的日期范围
    el-date-picker月选择器获取选择的日期范围<el-date-pickerv-model="monthValue"type="month"placeholder="选择月"value-format="yyyy-MM-dd"@change="monthChange"......
  • FLASK 相关链接
    FLASK中文文档:https://dormousehole.readthedocs.io/en/latest/FLASK教程:https://www.bookstack.cn/read/head-first-flask/README.mdhttp://www.coolpython.net/flask_tutorial/basic/route.htmlhttp://www.pythondoc.com/flask-mega-tutorial/index.htmlPython中文学......
  • 扬声器、麦克风的等效电路及相关技术参数(灵敏度等)
    扬声器、麦克风都是日常我们所需的电子小器件,今天小编来具体讲解一下有关两者的等效电路及相关技术参数。1、扬声器等效电路Re表示扬声器音圈的直流电阻Le表示音圈的电感,对高频信号产生的阻抗Mm表示动圈的等效质量,主要影响扬声器的低频响应Rm表示动圈的机械阻尼,影......