SQL對DATETIME型資料的操作3

2021-08-25 08:02:15 字數 2091 閱讀 5592

1、根據資料庫的時間字段查詢當天、當月、當年的資訊

select * from t_count where datediff(d,addtime,getdate())=0 //當天

select * from t_count where datediff(m,addtime,getdate())=0 //當月

select * from t_count where datediff(yy,addtime,getdate())=0 //當年

以此類推,下面是詳細的引數介紹

-- datediff

-- 返回跨兩個指定日期的日期和時間邊界數。

-- -- 語法

-- datediff ( datepart , startdate , enddate )

-- 日期部分 縮寫

-- year yy, yyyy

-- quarter qq, q

-- month mm, m

-- dayofyear dy, y

-- day dd, d

-- week wk, ww

-- hour hh

-- minute mi, n

-- second ss, s

-- millisecond ms

select datediff(yy,'1900-01-01',getdate())

--返回:106

2、在向指定日期加上一段時間的基礎上,返回新的 datetime 值

-- dateadd

-- 在向指定日期加上一段時間的基礎上,返回新的 datetime 值。

-- dateadd ( datepart , number, date )

-- 日期部分 縮寫

-- year yy, yyyy

-- quarter qq, q

-- month mm, m

-- dayofyear dy, y

-- day dd, d

-- week wk, ww

-- hour hh

-- minute mi, n

-- second ss, s

-- millisecond ms

select dateadd(mm,5,'01/01/1900') as date-- dateadd

-- 在向指定日期加上一段時間的基礎上,返回新的 datetime 值。

-- dateadd ( datepart , number, date )

-- 日期部分 縮寫

-- year yy, yyyy

-- quarter qq, q

-- month mm, m

-- dayofyear dy, y

-- day dd, d

-- week wk, ww

-- hour hh

-- minute mi, n

-- second ss, s

-- millisecond ms

推遲三天的寫法是:select dateadd(day,-3,getdate())

3、返回代表指定日期的指定日期部分的字串

-- datename

-- 返回代表指定日期的指定日期部分的字串。

-- -- 語法

-- datename ( datepart , date )

-- 日期部分 縮寫

-- year yy, yyyy

-- quarter qq, q

-- month mm, m

-- dayofyear dy, y

-- day dd, d

-- week wk, ww

-- hour hh

-- minute mi, n

-- second ss, s

-- millisecond ms

select datename(year, getdate())+'年'+datename(month, getdate())+'月' as 'month name'

SQL語句對非int型資料排序

對於varchar型資料直接排序排序會出現以下問題 1 轉化成int select 卡號,姓名,部門,當前區域 from v personnel inwell where 入井時間 is not null order by convert int,卡號 2 前面補0,然後排序 select from...

timestamp與datetime的對比

型別 timestamp datetime 不同點 儲存空間 timestamp占用4個位元組 datetime占用8個位元組 時區timestamp實際記錄的是1970 01 01 00 00 01到現在的數數,受時區影響 datetime不受時區影響 時間範圍 1970 01 01 00 00 ...

SQL學習筆記之(DATETIME)

使用 set statistics io on 來檢查是否有i o操作,如果沒報告i o操作,那麼可以確定不需要訪問基表,執行速度會非常快,例如,把varchar列的大小改為更大的值將不涉及對基本資料的i o操作,更改會瞬間完成,如果縮短varchar列的長度需要訪問基表資料,對大表操作時會花費很多...