SQL Server中GETDATE转换时间时注意事项

SQL Server中GETDATE转换时间时注意事项在SQL Server中,有时候查询数据时,需要限定查询时间范围。此时需要对时间进行运算, 如下所示: USE AdventureWorks2014;GOSELECT *FROM HumanResou

SQL Server中GETDATE转换时间时注意事项

 

在SQL Server中,有时候查询数据时,需要限定查询时间范围。此时需要对时间进行运算, 如下所示:

 

USE AdventureWorks2014;

代码100分

代码100分GO

SELECT  *

代码100分FROM    HumanResources.Employee

WHERE   ModifiedDate > GETDATE() - 20;

 

 

例如,获取前一天的时间,可以用下面这样的SQL语句。

 

    SELECT GETDATE() 1, GETDATE();

 

 

至于为什么写这样的SQL,一来这样书写非常简单方便,比用DATEADD函数要简便一点,另外,就是很多时候临时查数会这样写。如果对GETDATE进行加减的时间粒度为小时或分钟,那么就要特别注意了。放上两个SQL,你仔细品一品下面两个SQL的差别

 

 

SELECT GETDATE() 1/24, GETDATE();

 

clip_image001[13]

 

 

SELECT GETDATE() 1.0/24, GETDATE();

 

 

clip_image002[13]

 

 

如果没有注意这个细节问题,就会踩一些坑。仅仅是因为SQL Server中,1/24是整数运算,计算结果为0, 必须转换为浮点数运算。虽然没有什么技术含量,但是有时候很多人不小心采坑,尤其是经常在多种类型数据库切换的人,因为像Oracle数据库又跟SQL Server不一样。如下所示

 

 

 

SQL> alter session set nls_date_format="yyyy-mm-dd hh24:mi:ss";

 

Session altered.

 

SQL> select sysdate, sysdate -1/24 from dual;

 

SYSDATE             SYSDATE-1/24

------------------- -------------------

2020-03-28 11:32:27 2020-03-28 10:32:27

 

SQL> 

 

SQL> select 1/24 from dual;

 

      1/24

----------

.041666667

 

clip_image003[13]

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
转载请注明出处: https://daima100.com/9324.html

(0)
上一篇 2023-02-10
下一篇 2023-02-11

相关推荐

  • 用len函数评估Python代码的效率

    用len函数评估Python代码的效率Python作为一门高级编程语言,其代码简洁、易读、易懂的特点成为了众多开发者的首选。但是,在实际的应用过程中,我们也需要考虑代码的效率。本文将从多个方面探讨如何使用len函数评估Python代码的效率,为Python开发者提供一些有效的优化方案。

    2024-04-15
    79
  • mysql in与or效率比较[通俗易懂]

    mysql in与or效率比较[通俗易懂]在网上一直看到的是or和in的效率没啥区别,一直也感觉是这样,前几天刚好在看《mysql数据库开发的36条军规》的文章,里面提到了or和in的效率问题,文中提到or的效率为O(n),而in的效率为O…

    2022-12-20
    157
  • Python如何转成exe

    Python如何转成exePython是一种强大的脚本语言,可以编写简单易读的代码。但是如果要在没有Python解释器的计算机上运行Python程序,就需要将它们转换成本地可执行文件。这时,就需要学习如何将Python转成exe。

    2024-07-19
    41
  • mysql federated存储引擎[亲测有效]

    mysql federated存储引擎[亲测有效]通过federated存储引擎建立远程连接表 # 开启federated存储引擎 SHOW ENGINES ; MyISAM YES InnoDB DEFAULT … FEDERATED YES…

    2023-02-21
    152
  • mysql默认的事务隔离级别能达到什么效果_MySQL事务隔离级别

    mysql默认的事务隔离级别能达到什么效果_MySQL事务隔离级别经常提到数据库的事务,那你知道数据库还有事务隔离的说法吗,事务隔离还有隔离级别,那什么是事务隔离,隔离级别又是什么呢?本文就帮大家梳理一下。 MySQL 事务 本文所说的 MySQL 事务都是指在 I

    2023-02-10
    151
  • flume 安装_flume官方

    flume 安装_flume官方Flume的安装及使用 Flume的安装 1、上传至虚拟机,并解压 tar -zxvf apache-flume-1.9.0-bin.tar.gz -C /usr/local/soft/ 在环境变量中

    2023-04-25
    163
  • DECODE 函数和 CASE-WHEN 表达式的比较

    DECODE 函数和 CASE-WHEN 表达式的比较在 SQL 中我们通常认为以下两种写法是等价的: DECODE(PARAM, VALUE1, RESULT1, [VALUE2, RESULT2, …] DEFAULT_RESULT) CASE…

    2023-03-19
    168
  • 数据库增加语句怎么写_sql where 多个条件

    数据库增加语句怎么写_sql where 多个条件本文介绍如何使用 SELECT 语句查询 SQL 如何对表进行创建、更新和删除操作 中创建的 Product 表中数据。这里使用的 SELECT 语句是 SQL 最基本也是最重要的语句。 请大家在实际

    2023-05-19
    124

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注