1.语法
DATEADD(datepart,number,date)
2.datepart
参数可以是下列的值:
datepart | 缩写 |
---|---|
年 | yy, yyyy |
季度 | qq, q |
月 | mm, m |
年中的日 | dy, y |
日 | dd, d |
周 | wk, ww |
星期 | dw, w |
小时 | hh |
分钟 | mi, n |
秒 | ss, s |
毫秒 | ms |
微妙 | mcs |
纳秒 | ns |
3.Interval 参数
可以有以下设置之一。
枚举值 |
字符串 |
待添加时间间隔的单位 |
---|---|---|
DateInterval.Day |
d |
天;截断为整数值 |
DateInterval.DayOfYear |
y |
天;截断为整数值 |
DateInterval.Hour |
h |
小时;截断为整数值 |
DateInterval.Minute |
n |
分钟;截断为整数值 |
DateInterval.Month |
m |
月份;截断为整数值 |
DateInterval.Quarter |
q |
季度;截断为整数值 |
DateInterval.Second |
s |
秒;截断为整数值 |
DateInterval.Weekday |
w |
天;截断为整数值 |
DateInterval.WeekOfYear |
ww |
周;截断为整数值 |
DateInterval.Year |
yyyy |
年;截断为整数值 |
4.实例
假设我们有下面这个 "Orders" 表:
OrderId | ProductName | OrderDate |
---|---|---|
1 | 'Computer' | 2008-12-29 16:25:46.635 |
现在,我们希望向 "OrderDate" 添加 2 天,这样就可以找到付款日期。
我们使用如下 SELECT 语句:
SELECT OrderId,DATEADD(day,2,OrderDate)
AS OrderPayDate
FROM Orders
结果:
OrderId | OrderPayDate |
---|---|
1 | 2008-12-31 16:25:46.635 |
5.DateAdd
下面是我在JS中遇到的一个例子。
param['f_day']=formatDate(param['f_date'],'yyyyMMdd');
param['t_day']=formatDate(param['t_date'],'yyyyMMdd');
//以下代码为固定日期,将日期固定在当前日期前一天
var a = now()
var b = formatDate(a,"yyyy-MM-dd")
var c = dateAdd(a,"dayofyear",-1)
var d = formatDate(c,"yyyy-MM-dd")
if(formatDate(a,"dd")=='01')
{
t_date.setSelectedObjects([b],STRING)
}
else if (formatDate(a,"dd")!='01')
{
t_date.setSelectedObjects([d],STRING)
}
这样就在JS中将日期固定在但当前日期前一天!