access中设置字段默认值相关函数

access中设置字段默认值相关函数

DateValue(Now())
DatePart("q",Now())
today=Date()
years=DatePart("yyyy",today)-1981-1
Days=DatePart("y",today)+25
IfDatePart("m",today)=12Then
ifDatePart("d",today)>=9Then
MsgBox"ok"
Years=Years+1
Days=DatePart("d",Date)-9
endif
endIf

"周"日期部分可能给出与 Microsoft® SQL Server™ 早期版本不同的值。但是,仅当 SET DATEFIRST 设置不为默认值(美国英语的默认值为 7)时才有差别。

如果 DATEPART 函数提供的年有 366 天,且该年的第一周开始于周六,年结束于从周日开始算起的周的第一天,则返回的周值为 54。

当使用 ISO 8601 标准时,周值总是从 1 到 53,这保证年的第一周至少有 4 天。

与 SQL Server 早期版本相比,应该有不同的结果。使用 SET DATEFIRST 的默认值,这样 DATEPART 将为"周"日期部分返回预期的结果。否则,DATEPART 值将比预期值小 1。

SQL中的日期格式
2006年07月19日 星期三 01:33

1.day(<date_expression>)函数返回日期中的日的值,用法如:select day(getdate())
如:
select day('1/10/2005') 结果:10

2.dateadd(datepart,number,date)函数返回值加上指定的额外日期间隔number产生的新日期
如:
select dateadd(day,3,'01/01/1986') 结果:1986-01-04 00:00:00.000
select dateadd(month,3,'01/01/1986') 结果:1986-04-01 00:00:00.000
select dateadd(year,3,'01/01/1986') 结果:1989-01-01 00:00:00.000
select dateadd(week,3,'01/01/1986') 结果:1986-01-22 00:00:00.000

3.datediff(datepart,startdate,enddate)函数其结果是有正负号的整数值
如:
select datediff(day,'8/8/2008',getdate()) 结果:-847
select datediff(month,'8/8/2008',getdate()) 结果:-28
select datediff(year,'8/8/2008',getdate()) 结果:-2

4.datename(datepart,date)函数以字符串的形式返回日期的指定部分
如:
select datename(day,getdate()) as '今日' 结果:14
select datename(month,getdate()) as '今月' 结果:4
select datename(year,getdate()) as '今年' 结果:2006

5.datepart(datepart,date)函数以整数值的形式返回日期的指定部分
如:
select datepart(day,getdate()) as '今日' 结果:14
select datepart(month,getdate()) as '月份' 结果:4
select datepart(year,getdate()) as '年份' 结果:2006

6.getdate()函数以datetime的默认格式返回系统当前的日期和时间
如:select getdate() as '当前时间' 结果:2006-04-14 17:06:25.200

7.month(date)函数返回date_expression中的月份值
如:select month(getdate()) 结果:4

8.year(date)函数返回date_expression中的年份值
如:select year(getdate()) 结果:2006

1.day(<date_expression>)函数返回日期中的日的值,用法如:select day(getdate())
如:
select day('1/10/2005') 结果:10

2.dateadd(datepart,number,date)函数返回值加上指定的额外日期间隔number产生的新日期
如:
select dateadd(day,3,'01/01/1986') 结果:1986-01-04 00:00:00.000
select dateadd(month,3,'01/01/1986') 结果:1986-04-01 00:00:00.000
select dateadd(year,3,'01/01/1986') 结果:1989-01-01 00:00:00.000
select dateadd(week,3,'01/01/1986') 结果:1986-01-22 00:00:00.000

3.datediff(datepart,startdate,enddate)函数其结果是有正负号的整数值
如:
select datediff(day,'8/8/2008',getdate()) 结果:-847
select datediff(month,'8/8/2008',getdate()) 结果:-28
select datediff(year,'8/8/2008',getdate()) 结果:-2

4.datename(datepart,date)函数以字符串的形式返回日期的指定部分
如:
select datename(day,getdate()) as '今日' 结果:14
select datename(month,getdate()) as '今月' 结果:4
select datename(year,getdate()) as '今年' 结果:2006

5.datepart(datepart,date)函数以整数值的形式返回日期的指定部分
如:
select datepart(day,getdate()) as '今日' 结果:14
select datepart(month,getdate()) as '月份' 结果:4
select datepart(year,getdate()) as '年份' 结果:2006

6.getdate()函数以datetime的默认格式返回系统当前的日期和时间
如:select getdate() as '当前时间' 结果:2006-04-14 17:06:25.200

7.month(date)函数返回date_expression中的月份值
如:select month(getdate()) 结果:4

8.year(date)函数返回date_expression中的年份值
如:select year(getdate()) 结果:2006



--月初 本月一号
set @BeginDate = convert(varchar(8),datepart(year,@WhichMonth))+'-'+convert(varchar(8),datepart(m,@WhichMonth))+'-1'
--月末 下月一号减一天
set @EndDate = dateadd(day,-1,convert(varchar(8),datepart(year,dateadd(m,1,@WhichMonth)))+'-'+convert(varchar(8),datepart(m,dateadd(m,1,@WhichMonth)))+'-1 23:59:59')

简化
set @BeginDate = convert(varchar(8),@WhichMonth,120)+'1'

set @EndDate = dateadd(day,-1,convert(varchar(8),dateadd(m,1,@WhichMonth),120)+'1 23:59:59')

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值