
试试select
dateadd
例如:向日期加上2天
select
dateadd(day,2,'2004-10-15')
--返回:2004-10-17
00:00:00000
dateadd函数说明:
DateAdd
(interval,number,date)
以interval指定的方式,加上number之后的日期
参数
interval的设定值如下:
值
缩
写(Sql
Server)
(Access
和
ASP)
说明
Year
Yy
yyyy
年
1753
~
9999
Quarter
q
季
1
~
4
Month
Mm
m
月1
~
12
Day
of
year
Dy
y
一年的日数,一年中的第几日
1-366
Day
Dd
d
日,1-31
Weekday
Dw
w
一周的日数,一周中的第几日
1-7
Week
Wk
ww
周,一年中的第几周
0
~
51
Hour
Hh
h
时0
~
23
Minute
Mi
n
分钟0
~
59
Second
Ss
s
秒
0
~
59
Millisecond
Ms
-
毫秒
0
~
999
oracle获得上个月的月份:
select to_char(add_months(trunc(sysdate),-1),'yyyymm') from dual;
oracle获得下个月的月份:
select to_char(add_months(trunc(sysdate),1),'yyyymm') from dual;
oracle获得上个月的第一天日期:
select data_dt ,ADD_MONTHS(TRUNC( to_date(data_dt, 'YYYY-MM-DD'),'MM' ),-1) from a_web_visit_origin;
oracle获得上个月的第一天日期(符合当地的日期格式):
select data_dt ,TO_CHAR (ADD_MONTHS(TRUNC( to_date(data_dt, 'YYYY-MM-DD'),'MM' ),-1),'YYYY-MM-DD') from a_web_visit_origin;
oracle获得上个月当天日期:
select data_dt ,TO_CHAR (ADD_MONTHS(TRUNC( to_date(data_dt, 'YYYY-MM-DD') ),-1),'YYYY-MM-DD') from a_web_visit_origin;
select data_dt ,ADD_MONTHS(TRUNC( to_date(data_dt, 'YYYY-MM-DD'),'MM' ),-1) from a_web_visit_origin;
oracle获得上个月的第一天日期(符合当地的日期格式):
select data_dt ,TO_CHAR (ADD_MONTHS(TRUNC( to_date(data_dt, 'YYYY-MM-DD'),'MM' ),-1),'YYYY-MM-DD') from a_web_visit_origin;
oracle获得上个月当天日期:
select data_dt ,TO_CHAR (ADD_MONTHS(TRUNC( to_date(data_dt, 'YYYY-MM-DD') ),-1),'YYYY-MM-DD') from a_web_visit_origin;
扩展资料:
日期和字符转换函数用法(to_date,to_char):
日期转化为字符串:select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') as nowTime from dual;
获取时间的年: select to_char(sysdate,'yyyy') as nowYear from dual;
获取时间的月: select to_char(sysdate,'mm') as nowMonth from dual;
获取时间的日:select to_char(sysdate,'dd') as nowDay from dual;
获取时间的时:select to_char(sysdate,'hh24') as nowHour from dual;
获取时间的分:select to_char(sysdate,'mi') as nowMinute from dual;
获取时间的秒:select to_char(sysdate,'ss') as nowSecond from dual;
编写脚本getdatesh:
[plain] view plain copy
#! /bin/sh
nowdate=`date +%Y%m01` #本月第一天
startdate=`date -d"$nowdate last month" +%Y%m%d` #上个月第一天
enddate=`date -d"$nowdate last day" +%Y%m%d` #上个月最后一天
#遍历上个月的每一天
while (( $startdate <= $enddate ))
do
echo $startdate
startdate=`date -d "+1 day $startdate" +%Y%m%d`
上个月比较好写,减去当前日期,再减1天
# date -d "-1 days" -d "-`date +%d` days" +%m
09
------------------------------------------------------------
下个月就不好写咯
date里的1 month有问题
比如今天是10月31日
# date -d "1 month" +%m
12
变成12月了
# date +%m
10
获取当前月份
那么下个月只好写代码了:
now_month=`date +%m`
if [ $now_month -ne 12 ];then
echo nextmonth is `expr $now_month + 1`
else
echo nextmonth is 01
fi
package zhidao;
import javatextSimpleDateFormat;
import javautilCalendar;
public class GetPerDate {
public static void main(String[] args) {
// TODO Auto-generated method stub
String firstDay,lastDay;
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
//获取前月的第一天
Calendar cal_1=CalendargetInstance();//获取当前日期
cal_1add(CalendarMONTH, -1);
cal_1set(CalendarDAY_OF_MONTH,1);//设置为1号,当前日期既为本月第一天
firstDay = formatformat(cal_1getTime());
Systemoutprintln("-----1------firstDay:"+firstDay);
//获取前月的最后一天
Calendar cale = CalendargetInstance();
caleset(CalendarDAY_OF_MONTH,0);//设置为1号,当前日期既为本月第一天
lastDay = formatformat(calegetTime());
Systemoutprintln("-----2------lastDay:"+lastDay);
}
}
以上就是关于sqlserver如何根据当前日期获得上月某一天的日期全部的内容,包括:sqlserver如何根据当前日期获得上月某一天的日期、Oracle如何获得上个月的月份、请教各位大神,如何在脚本中获取上个月最后一天日期等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)