获取当月第一天
select CONVERT(nvarchar(50),DateAdd(dd,-datePart(day,GetDate())+1,GETDATE()),23)
2022-08-01
SELECT DATEADD(mm, DATEDIFF(mm,0,getdate()), 0)
2022-08-01 00:00:00.000
获取当月最后一天
select DATEADD(mm, DATEDIFF(m,0,getdate())+1, 0)
2022-09-01 00:00:00.000
select DATEDIFF(m,0,getdate())+1
1472
SELECT dateadd(ms,0,DATEADD(dd, DATEDIFF(dd,0,getdate()), 0))
2022-08-04 00:00:00.000
SELECT dateadd(ms,-3,DATEADD(dd, DATEDIFF(dd,-1,getdate()), 0))
2022-08-04 23:59:59.997
SELECT EOMONTH(Date)
截取日期年份和月份(datepart函数返回的是整型数值)
截取年份:
datepart(yy,'2017-1-1')
2017
截取月份:
datepart(mm,'2017-1-1')
1
截取小时:
SELECT DATEPART(hh,'2013-08-08 13:12:11')
3
截取分钟:
SELECT DATEPART(mi,'2013-08-08 13:12:11')
12
截取秒:
SELECT DATEPART(ss,'2013-08-08 13:12:11')
11
返回字符型,那么使用datename函数
Select Datename(year,GetDate())
Datename(month,GetDate())
Datename(day,GetDate())
Datename(hour,GetDate())
Datename(minute,GetDate())
Datename(second,GetDate())
Datename(weekDay,GetDate())
Datename(week,GetDate())
使用Convert函数
select convert(char(10),GetDate(),120) as Date
100 mm dd yyyy
101 mm/dd/yyyy
102 yyyy.mm.dd
103 dd/mm/yyyy
106 dd mm yyyy
108 hh:mi:ss(时间)
111 yyyy/mm/dd
112 yyyymmdd
120 yyyy-mm-dd
日期转换
SELECT CONVERT(varchar(100), GETDATE(), 0) 07 15 2009 4:06PM
SELECT CONVERT(varchar(100), GETDATE(), 1) 07/15/09
SELECT CONVERT(varchar(100), GETDATE(), 2) 09.07.15
SELECT CONVERT(varchar(100), GETDATE(), 3) 15/07/09
SELECT CONVERT(varchar(100), GETDATE(), 4) 15.07.09
SELECT CONVERT(varchar(100), GETDATE(), 5) 15-07-09
SELECT CONVERT(varchar(100), GETDATE(), 6) 15 07 09
SELECT CONVERT(varchar(100), GETDATE(), 7) 07 15, 09
SELECT CONVERT(varchar(100), GETDATE(), 8) 16:06:26
SELECT CONVERT(varchar(100), GETDATE(), 9) 07 15 2009 4:06:26:513PM
SELECT CONVERT(varchar(100), GETDATE(), 10) 07-15-09
SELECT CONVERT(varchar(100), GETDATE(), 11) 09/07/15
SELECT CONVERT(varchar(100), GETDATE(), 12) 090715
SELECT CONVERT(varchar(100), GETDATE(), 13) 15 07 2009 16:06:26:513
SELECT CONVERT(varchar(100), GETDATE(), 14) 16:06:26:513
SELECT CONVERT(varchar(100), GETDATE(), 20) 2009-07-15 16:06:26
SELECT CONVERT(varchar(100), GETDATE(), 21) 2009-07-15 16:06:26.513
SELECT CONVERT(varchar(100), GETDATE(), 22) 07/15/09 4:06:26 PM
SELECT CONVERT(varchar(100), GETDATE(), 23) 2009-07-15
SELECT CONVERT(varchar(100), GETDATE(), 24) 16:06:26
SELECT CONVERT(varchar(100), GETDATE(), 25) 2009-07-15 16:06:26.513
SELECT CONVERT(varchar(100), GETDATE(), 100) 07 15 2009 4:06PM
SELECT CONVERT(varchar(100), GETDATE(), 101) 07/15/2009
SELECT CONVERT(varchar(100), GETDATE(), 102) 2009.07.15
SELECT CONVERT(varchar(100), GETDATE(), 103) 15/07/2009
SELECT CONVERT(varchar(100), GETDATE(), 104) 15.07.2009
SELECT CONVERT(varchar(100), GETDATE(), 105) 15-07-2009
SELECT CONVERT(varchar(100), GETDATE(), 106) 15 07 2009
SELECT CONVERT(varchar(100), GETDATE(), 107) 07 15, 2009
SELECT CONVERT(varchar(100), GETDATE(), 108) 16:06:26
SELECT CONVERT(varchar(100), GETDATE(), 109) 07 15 2009 4:06:26:513PM
SELECT CONVERT(varchar(100), GETDATE(), 110) 07-15-2009
SELECT CONVERT(varchar(100), GETDATE(), 111) 2009/07/15
SELECT CONVERT(varchar(100), GETDATE(), 112) 20090715
SELECT CONVERT(varchar(100), GETDATE(), 113) 15 07 2009 16:06:26:513
SELECT CONVERT(varchar(100), GETDATE(), 114) 16:06:26:513
SELECT CONVERT(varchar(100), GETDATE(), 120) 2009-07-15 16:06:26
SELECT CONVERT(varchar(100), GETDATE(), 121) 2009-07-15 16:06:26.513
SELECT CONVERT(varchar(100), GETDATE(), 126) 2009-07-15T16:06:26.513
SELECT CONVERT(varchar(100), GETDATE(), 130) 23 ??? 1430 4:06:26:513PM
SELECT CONVERT(varchar(100), GETDATE(), 131) 23/07/1430 4:06:26:513PM
函数
LEFT函数 --左截函数
RIGHT函数 --右截函数
CHARINDEX函数 --字符串下标函数
REVERSE函数 --取反函数
游标
定义游标前判断游标是否存在,若存在则销毁该游标
if(CURSOR_STATUS('global','innerCursor')!=-3) begin deallocate innerCursor end