access中設定字段預設值相關函式

2021-08-22 05:21:28 字數 4009 閱讀 2412

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中的日期格式

2023年07月19日 星期三 01:33

1.day()函式返回日期中的日的值,用法如: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()函式返回日期中的日的值,用法如: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')

用sql設定access的預設值

如何設定表的某欄位預設值?簡述 如何定義字段預設值 問題 如何設定表的某欄位預設值?方法一 用 jet sql 來完成 alter table tablename alter column fieldname text 40 default 預設值 請注意,上述語句要用 adodb.connecti...

mysql 個別字段設定預設值

專案中經常遇到一些問題 新增到表中資料一般不會出現什麼錯誤,反而讀取資料各種報錯 像我這種,自以為很簡單的讀取,也不debug,直接獲取資料,然後。非常浪費時間,有個別報錯。檢視的時候,原來是某個欄位為空 轉化 資料型別的出現錯誤。解決辦法 那就是 設定預設值 我試過在實體裡新增預設值 沒有效果 資...

MYSQL datetime設定預設值

使用decimal代替float和double儲存精確浮點數 如果用float簡單的浮點數插入操作,居然會產生偏差,坑爹啊由於timestamp是從1970開始的,如果要記錄出生日期,還是需要用datetime 當然,在一般情況下,推薦使用timestamp alter table project ...