sql语法

获取当月第一天
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
posted @ 2022-09-08 13:49  NewJersey  阅读(31)  评论(0)    收藏  举报