SqlServer实用语法集合

数据类型转换

--cast(@data as int) @data是变量 int是需要转换成为的类型 例如:
select cast(1234 as char(4))
-- 结果: '1234'  int变成字符串

日期转换

-- CONVERT(date,'20201212',112) 第一个的参数是转换成为的类型,第二个参数是变量
select CONVERT(date,'20201212',112) --字符串转日期
-- 结果: 返回日期类型的数据 2020-12-12
select CONVERT(char(8),@date,112)  --日期转字符串
-- 结果: 返回字符串,格式根据112设定为:yyyymmdd 

日期计算

--计算两天相差几天
datediff(day,@date1,@date2)
-- 结果: 返回int数据 ,结果是 @date2 - @date1的天数差值

本年本月第一天最后一天

select dateadd(month, datediff(month, 0, getdate()), 0) -- 本月第一天
select dateadd(month, datediff(month, 0, dateadd(month, 1, getdate())), -1) -- 本月最后一天
select dateadd(year, datediff(year, 0, getdate()), 0)  -- 本年第一天
select dateadd(year, datediff(year, 0, dateadd(year, 1, getdate())), -1) -- 本年最后一天

本年天数

select datediff(day, dateadd(year,datediff(year,0,getdate()),0) ,dateadd(year, 1, dateadd(year,datediff(year,0,getdate()),0)))
-- 或者计算闰年也行

本月天数

select datediff(day, dateadd(month,datediff(month,0,getdate()),0) ,dateadd(month, 1, dateadd(month,datediff(month,0,getdate()),0)))

重新对自增ID进行排序

DBCC CHECKIDENT('table_name',RESEED,重置的ID号)
--例 将表'table_name'的自增id需要重置到10,即下一条新数据的id为11
DBCC CHECKIDENT('table_name',RESEED,10)
--查看当前id序号
DBCC CHECKIDENT('table_name')
posted @ 2022-06-08 10:41  图图雷  阅读(42)  评论(0)    收藏  举报