SQL语句获取日期

更新时间:2023-06-26 23:01:06 阅读: 评论:0

SQL语句获取日期
核心提示:本教程为大家介绍SQL语句如何获取特定的日期。
  SQL语句获取特定日期
  1.一个月第一天的
  Select DATEADD(mm, DATEDIFF(mm,0,getdate()), 0)
  2.本周的星期一
  Select DATEADD(wk, DATEDIFF(wk,0,getdate()), 0)
  3.一年的第一天
  Select DATEADD(yy, DATEDIFF(yy,0,getdate()), 0)
  4.季度的第一天
  Select DATEADD(qq, DATEDIFF(qq,0,getdate()), 0)
  5.当天的半夜
  Select DATEADD(dd, DATEDIFF(dd,0,getdate()), 0)
  6.上个月的最后一天
  Select dateadd(ms,-3,DATEADD(mm, DATEDIFF(mm,0,getdate()), 0))
  7.去年的最后一天
  Select dateadd(ms,-3,DATEADD(yy, DATEDIFF(yy,0,getdate()), 0))
  8.本月的最后一天
  Select dateadd(ms,-3,DATEADD(mm, DATEDIFF(m,0,getdate())+1, 0))
  9.本年的最后一天
  Select dateadd(ms,-3,DATEADD(yy, DATEDIFF(yy,0,getdate())+1, 0))
  10.本月的第一个星期一
  lect DATEADD(wk, DATEDIFF(wk,0,dateadd(dd,6-datepart(day,getdate()),getdate())), 0)
  返回当前日期和时间
英语在线翻译软件  通过函数GETDATE(),你可以获得当前的日期和时间。函数jay z好听的歌GETDATE()可以用来作为DATEDIME型字段的缺省值。这对插入记录时保存当时的时间是有用的。要建立一个表,其中的记录包含有当前的日期和时间,可以添加一个DATETIME型字段,指定其缺省值为函数GETDATE()的返回值,就象这样:
  冯骥才的文章Create TABLE site_log (
  urname VARCHAR(40)
  uractivity VARCHAR(100)
imus  entrydate DATETIME DEFAULT GETDATE())
  转换日期和时间
  函数GETDATE()的返回值在显示时只显示到秒。实际上,SQL Sever内部时间可以精确到毫秒级(确切地说,可以精确到3.33毫秒)。
  要得到不同格式的日期和时间,你需要使用函数CONVERT()。例如,当下面的这个语句执行时,显示的时间将包括毫秒:
  Select CONVERT(VARCHAR(30)GETDATE()9)
  注意例子中数字9的使用。这个数字指明了在显示日期和时间时使用哪种日期和时间格式。当这个语句执行时,将显示如下的日期和时间:
  Nov 30 1997 3:29:55:170AM
  (1 row(s) affected)
  在函数CONVERT()中你可以使用许多种不同风格的日期和时间格式。下表显示了所有的格式。
  日期和时间的类型:
  类型值 标准 输出
  0 Default mon dd yyyy hh:miAM
  1 USA mm/dd/yy
  2 dd
  3 British/French dd/mm/yy
  4
  5 Italian dd-mm-yy
  6 - dd mon yy
  7 - mon ddyy
  officer8 - hh:mi:ss
  9 Default + milliconds--mon dd yyyy
  hh:mi:ss:mmmAM(or )
  10 USA mm-dd-yy
  11 JAPAN yy/mm/dd
时尚 英文  12 ISO yymmdd
  13 Europe Default + milliconds--dd mon yyyy
  hh:mi:ss:mmm(24h)
  14 - hh:mi:ss:mmm(24h)
  类型09,和13总是返回四位的年。对其它类型,要显示世纪,把style值加上100。类型1314返回24小时时钟的时间。类型07,和13返回的月份用三位字符表示(用Nov代表janusNovember.
  对表中所列的每一种格式,你可以把类型值加上100来显示有世纪的年(例如,00年将显示为2000年)。例如,要按日本标准显示日期,包括世纪,你应使用如下的语句:
  Select CONVERTVARCHAR30),GETDATE(),111
  在这个例子中,函数CONVERT()把日期格式进行转换,显示为1997/11/30
  抽取日期和时间
  在许多情况下,你也许只想得到日期和时间的一部分,而不是完整的日期和时间。为了抽取日期的特定部分,你可以使用函数DATEPART(),象这样:
  Select site_name ‘Site Name’
  DATEPART(mmsite_entrydate) ‘Month Posted’ FROM site_directory
  函数DATEPART()的参数是两个变量。第一个变量指定要抽取日期的哪一部分;第二个变量是实际的数据。在这个例子中,函数i like that音译歌词DATEPART()抽取月份,因为mm代表月份。下面是这个Select 语句的输出结果:
  Site Name Month Posted
  ………………………………………………………………
  Yahoo 2
  Microsoft 5
  Magicw3 5
  (3 row(s) affected)
  Month Posted列显示了每个站点被查询的月份。函数DATEPART()的返回值是一个整数。你可以用这个函数抽取日期的各个不同部分,如下表所示。
  日期的各部分及其简写
  日期部分 简写
  year yy 1753--9999
草莓 英文
  quarter qq 1--4
  month mm 1--12
  day of year dy 1--366
  day dd 1--31
  week wk 1--53
  weekday dw 1--7(Sunday--Saturday)
  hour hh 0--23
  minute mi 0--59
  cond ss 0--59
  milicond ms 0--999
  当你需要进行日期和时间的比较时,使用函数DATEPART()返回整数是有用的。但是,上例中的查询结果(2inn5)不是十分易读。要以更易读的格式得到部分的日期和时间,你可以使用函数DATENAME(),如下例所示:
  Select site_name ‘Site Name’
  DATENAME(mmsite_entrydate) ‘Month Posted’
  FROM site_directory
  函数DATENAME()和函数DATEPART()接收同样的参数。但是,它的返回值是一个字符串,而不是一个整数。下面是上例该用DATENAME()得到的结果:
  Site Name Month Postec
  ………………………………………………………………….
  Yahoo February
  Microsoft June
  Magicw3 June
  (3 row(s) affected)
  你也可以用函数DATENAE()来抽取一个星期中的某一天。下面的这个例子同时抽取一周中的某一天和日期中的月份:
  Select site_name ‘Site Name’
  DATENAME(dwsite_entrydate)+ ‘-’ + DATENAMEmmsite_entrydate
  ‘Day and Month Posted’ FORM site_directory
  这个例子执行时,将返回如下的结果:

本文发布于:2023-06-26 23:01:06,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/90/158761.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:时间   显示   使用   函数   格式   月份   变量
相关文章
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图