
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月到当前月之间的所有月份等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)