sql如何获取一列日期的年份和月份

sql如何获取一列日期的年份和月份,第1张

mysql> select DATE_FORMAT('1997-10-04 22:23:00', '%Y/%m ');

+----------------------------------------------+

| DATE_FORMAT('1997-10-04 22:23:00', '%Y/%m ') |

+----------------------------------------------+

| 1997/10 |

+----------------------------------------------+

我没明白你说的最后一周是啥意思。

我给你提供三个函数,应该就能拼出来你想要的东西

(1)dateadd(day,-3,getdate())当前日期-3天

dateadd(month,-2,getdate())当前日期-2月

dateadd(year,-1,getdate())当前日期-1年

(2)如果你要单独取年 select year(getdate()) =2017

取月 month(getdate()) =1

取日 day(getdate()) =24

(3)你要取星期几 select datepart(weekday,getdate()) 周一到周日是2,3,4,5,6,7,1

sqlserver:

select convert(varchar(7),dateadd(mm,-tnumber,getdate()),120)

from

(select number from masterspt_values where type='P') t

where year(dateadd(mm,-tnumber,getdate()))=year(getdate())

order by convert(varchar(7),dateadd(mm,-tnumber,getdate()),120)

oracle:

select to_char(add_months(sysdate, -trn), 'yyyy-mm')

  from dual a, (select rownum - 1 rn from dual connect by rownum <= 12) t

 where to_char(add_months(sysdate, -trn), 'yyyy') =

       to_char(sysdate, 'yyyy')

 order by to_char(add_months(sysdate, -trn), 'yyyy-mm')

如:给定的年月格式为20157,代表2015年7月。

取某月第一天:

SELECT CAST((LEFT('20157',4)+'-'+SUBSTRING('20157',5,LEN('20157'))+'-'+'01') AS DATETIME)

结果:

这个看你用的什么数据库,还有你的自动是什么数据类型:

比如oracle,日期类型:

select from tablea where datecol between add_months(trunc(sysdate(),-3) and trunc(sysdate()

如果是sqlserver

select from tablea where datecol between dateadd(mm,-3,getdate()) and getdate();

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 10 Transitional//EN"

">

GetDate() 得到当前日期。

Year() 年/Month() 月/Day() 日期

SELECT YEAR(GETDATE()) AS Y,MONTH(GETDATE()) AS M,DAY(GETDATE()) AS D

Y M D

----------- ----------- -----------

2010 4 29

SELECT CONVERT(CHAR(10),GETDATE(),120) AS CC

CC

----------

2010-04-29

日期类型属于间距尺度,可以进行加减运算,没有自然原点。

SELECT DATEDIFF(DAY,CAST('2009-01-01' AS DATETIME),CAST('2009-03-11' AS DATETIME)) AS d

d

-----------

69

SELECT DATEadd(DAY,33,CAST('2009-01-01' AS DATETIME)) AS d

d

-----------------------

2009-02-03 00:00:00000

对应函数方法等建议参见sqlserver的帮助文件,里边有详细的例子和说明。

不过这种厂家自定函数移植时候会很困难。

sql取时间字段中年月日的值的步骤如下:

我们需要准备的材料分别是:电脑、sql查询器。

1、首先,打开sql查询器,连接上相应的sql表。

2、点击“查询”按钮,输入:SELECT date_format(add_time, '%Y') as year, date_format(add_time, '%m') as month, date_format(add_time, '%d') as day FROM test;。

3、点击“运行”按钮,时间字段的年月日就被取出了。

以上就是关于sql如何获取一列日期的年份和月份全部的内容,包括:sql如何获取一列日期的年份和月份、sqlserver如何获得最后一周,最近一月的日期、SQLServer、Oracle获取当前年份的1月到当前月之间的所有月份等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9568190.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-29
下一篇2023-04-29

发表评论

登录后才能评论

评论列表(0条)

    保存