您的位置:首页 > 其它

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

2006-09-16 10:36 423 查看
access中设置字段默认值相关函数

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

"周"日期部分可能给出与 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')
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: