SQL SERVER 月、季、年统计与常用查询语句汇总
@@sqlserver 年 季 月
SQL SERVER 月、季、年统计与常用查询语句汇总
一、SQL SERVER 月、季、年统计查询
--本天
SELECT *FROM dbo.TableName WHERE DATEDIFF(DAY,TimeField,getdate())= 0;
--本周
SELECT *FROM dbo.TableName WHERE DATEDIFF(WEEK,TimeField,getdate())= 0;
--本月
SELECT *FROM dbo.TableName WHERE DATEDIFF(MONTH,TimeField,getdate())= 0;
--本季度
SELECT *FROM dbo.TableName WHERE DATEPART(qq, TimeField) = DATEPART(qq, GETDATE()) and DATEPART(yy, TimeField) = DATEPART(yy, GETDATE());
--本年
SELECT *FROM dbo.TableName where DATEDIFF(YEAR, TimeField,getdate())= 0;
注:TableName为查询的表名,TimeFiled为查询的时间字段
二、SQL SERVER 判断表、字段、存储过程、触发器是否存在
--判断表是否存在
SELECT *FROM sys.objects WHERE OBJECT_ID = OBJECT_ID('表名') AND OBJECTPROPERTY(object_id, N'IsUserTable') = 1
--或
SELECT *FROM sys.objects WHERE OBJECT_ID = OBJECT_ID('表名') AND type='u'
--判断字段是否存在
SELECT *FROM sys.columns WHERE OBJECT_ID = OBJECT_ID('字段名') AND Name = 'No'
--判断存储过程是否存在
SELECT *FROM sys.objects WHERE OBJECT_ID = OBJECT_ID('存储过程名') AND
OBJECTPROPERTY(object_id, N'IsProcedure') = 1
--或
SELECT *FROM sys.objects WHERE OBJECT_ID = OBJECT_ID('存储过程名') AND type='p'
--判断触发器是否存在
SELECT *FROM sys.objects WHERE OBJECT_ID = OBJECT_ID('触发器名') AND OBJECTPROPERTY(object_id, N'IsTrigger') = 1
--或
SELECT *FROM sys.objects WHERE OBJECT_ID = OBJECT_ID('触发器名') AND type='TR'
三 、表复制语句
-- 要求表2不存在,查询时自动创建
Select Field1,Field2 from Table1 Into Table2
--要求表2必须存在,可以插入常量
Insert into table2 (Field1,Field2) select Field1,Field2 from table1
四、关联更新
UPDATE Table1 SET T1F1 = T2F1, T1F2 = T2F2, T1F3 = T2F3 FROM Table1, Table2 WHERE Table1.Key = Table2.Key
-----------------------------------
SQL SERVER 月、季、年统计与常用查询语句汇总
https://blog.51cto.com/u_15127636/3865298
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)