当前位置: 首页 > news >正文

Sql 时间做条件

在sql的查询中我们应该尽量避免在WHERE条件中的字段上用函数,如DATEDIFF,DATEADD,CONVERT

因为这样做会使该字段上的索引失效,影响SQL语句的性能。即使该字段上没有索引,也会给sql带来压力。

在以时间做条件查询的时候,比如要查询1天前的数据多数人会这么写

--前一天数据
SELECT * FROM TableA WHERE DATEDIFF(DAY,dtTime,GETDATE()) < 1
--当前时间到昨天的数据
SELECT * FROM TableA WHERE DATEDIFF(DAY,dtTime,GETDATE()) <= 1

 

我们应该采用以下的写法:

--前一天数据
SELECT * FROM TableA WHERE dtTime > CAST(GETDATE()-1 AS date) AND dtTime< CAST(GETDATE() AS date)
--当前时间到昨天的数据
SELECT * FROM TableA WHERE dtTime > CAST(GETDATE()-1 AS date) 
--上一个月或更久
SELECT * FROM TableA WHERE dtTime < convert(varchar(7),getdate(),121)+'-01'

 

转载于:https://www.cnblogs.com/ghelement/p/7500444.html

相关文章:

  • SQL Server 数据库中的几个常见的临界值
  • A Research Problem UVA - 10837 欧拉函数逆应用
  • 洛谷P2344 奶牛抗议
  • python归档:笔记转化
  • 理解JS中的call、apply、bind方法
  • Number Math
  • 初学JAVA的变量作用域
  • Inno Setup自定义安装界面脚本
  • Spring AOP简单的配置(注解和xml配置)
  • Swift,枚举
  • java操作Excel
  • 'NoneType' object is not iterable
  • AngularJS
  • C++ 清空队列(queue)的几种方法
  • MIME 类型(HttpContext.Response.ContentType)列表
  • canvas实际项目操作,包含:线条,圆形,扇形,图片绘制,图片圆角遮罩,矩形,弧形文字...
  • conda常用的命令
  • CSS 专业技巧
  • CSS相对定位
  • LeetCode算法系列_0891_子序列宽度之和
  • Linux快速配置 VIM 实现语法高亮 补全 缩进等功能
  • NSTimer学习笔记
  • SQLServer之创建数据库快照
  • uni-app项目数字滚动
  • vue+element后台管理系统,从后端获取路由表,并正常渲染
  • XForms - 更强大的Form
  • 从0到1:PostCSS 插件开发最佳实践
  • 动态规划入门(以爬楼梯为例)
  • 温故知新之javascript面向对象
  • 掌握面试——弹出框的实现(一道题中包含布局/js设计模式)
  • 你对linux中grep命令知道多少?
  • 阿里云重庆大学大数据训练营落地分享
  • 树莓派用上kodexplorer也能玩成私有网盘
  • ​​​​​​​sokit v1.3抓手机应用socket数据包: Socket是传输控制层协议,WebSocket是应用层协议。
  • ​第20课 在Android Native开发中加入新的C++类
  • (2022版)一套教程搞定k8s安装到实战 | RBAC
  • (Matalb分类预测)GA-BP遗传算法优化BP神经网络的多维分类预测
  • (层次遍历)104. 二叉树的最大深度
  • (附源码)ssm高校实验室 毕业设计 800008
  • (七)理解angular中的module和injector,即依赖注入
  • (未解决)jmeter报错之“请在微信客户端打开链接”
  • (一)80c52学习之旅-起始篇
  • (一)C语言之入门:使用Visual Studio Community 2022运行hello world
  • (转)拼包函数及网络封包的异常处理(含代码)
  • .Net Core和.Net Standard直观理解
  • .Net Core缓存组件(MemoryCache)源码解析
  • .NET Framework 3.5中序列化成JSON数据及JSON数据的反序列化,以及jQuery的调用JSON
  • .NET Windows:删除文件夹后立即判断,有可能依然存在
  • .net 流——流的类型体系简单介绍
  • .NET 同步与异步 之 原子操作和自旋锁(Interlocked、SpinLock)(九)
  • .NET/ASP.NETMVC 深入剖析 Model元数据、HtmlHelper、自定义模板、模板的装饰者模式(二)...
  • .net开发时的诡异问题,button的onclick事件无效
  • .net与java建立WebService再互相调用
  • /proc/interrupts 和 /proc/stat 查看中断的情况
  • @DataRedisTest测试redis从未如此丝滑