1.顯示本月第一天
select dateadd(mm,datediff(mm,0,getdate()),0)
select dateadd(mm,datediff(mm,0,getdate()),0)
2.顯示本月最後一天
select dateadd(day,-1,convert(datetime,convert
(varchar(8),dateadd(month,1,getdate()),120)+』01』,120))
select dateadd(ms,-3,dateadd(mm,datediff(m,0,getdate())+1,0))
select dateadd(day,-1,dateadd(mm,1,dateadd(mm,datediff(mm,0,getdate()),0))) --jt17 森林
3.上個月的最後一天
select dateadd(ms,-3,dateadd(mm,datediff(mm,0,getdate()),0))
select dateadd(day,-1,dateadd(mm,0,dateadd(month,datediff(month,0,getdate()),0)))--jt17森林
4.本月的第乙個星期一i
select dateadd(wk,datediff(wk,0, dateadd(dd,6-datepart(
day,getdate()),getdate())),0)
5.本年的第一天
select dateadd(yy,datediff(yy,0,getdate()),0)
6.本年的最後一天
select dateadd(ms,-3,dateadd(yy,datediff(yy,0,getdate())+1,0))
7.去年的最後一天
select dateadd(ms,-3,dateadd(yy,datediff(yy,0,getdate()),0))
8.本季度的第一天
select dateadd(qq,datediff(qq,0,getdate()),0)
9.本週的星期一
select dateadd(wk,datediff(wk,0,getdate()),0)
10.查詢本月的記錄
select * from tablename where datepart(mm, thedate)
=datepart(mm, getdate()) and datepart(yy, thedate)
= datepart(yy, getdate())
11.查詢本週的記錄
select * from tablename where datepart(wk, thedate) = datepart
(wk, getdate()) and datepart(yy, thedate) = datepart(yy, getdate())
12.查詢本季的記錄 注:其中:getdate()是獲得系統時間的函式。
select * from tablename where datepart(qq, thedate) = datepart
(qq, getdate()) and datepart(yy, thedate) = datepart(yy, getdate())
13.獲取當月總天數:
select datediff(dd,getdate(),dateadd
(mm, 1, getdate()))
select datediff(day,
dateadd(mm, datediff(mm,』』,getdate()), 』』),
dateadd(mm, datediff(mm,』』,getdate()), 』1900-02-01』))
14.獲取當前為星期幾
datename(weekday, getdate())
編寫SQL指令碼的一些注意事項
在應用軟體系統的開發中,對資料庫的操作是必不可少的。在開發團隊中,一般不允許開發人員隨意的修改表結構 檢視結構或系統資料,這對專案組來說,危害是致命的,特別是在已經上線的環境中,更是嚴禁這種行為。我們採取的一般做法是開發人員提交sql指令碼,統一交由管理員來執行這些指令碼,在執行指令碼過程中可能會遇...
SQL效率提公升之一些SQL編寫建議並有效利用索引
1.日期屬性列,不會因為有分秒差別而減慢查詢速度 2.使用like比較進行查程式設計客棧詢時,如果模式以特定字串如 abc 開頭,使用索引則會提高效率 如果模式以萬用字元如 xyz 開頭,則索引不起作用 3.or會引起全表掃瞄,且和in的作用相當 4.盡量少用not 5.exists 和 in的執行...
sql時間轉換時分秒 SQL一些時間格式的轉換
convert日期轉換格式為20或120時,得到的字串是不帶毫秒的。如 select convert varchar 23 getdate 120或20 2003 01 07 21 46 43 日期轉換格式為21或121時,得到的字串是帶毫秒的 select convert varchar 23 g...