zoukankan      html  css  js  c++  java
  • 发现SQL Server惊天大秘密!!

    --set statistics xml on
    CREATE TABLE T_TEST(ID INT IDENTITY PRIMARY KEY,CreateTime DATE)
    INSERT INTO T_TEST SELECT '2011-11-04'
    UNION ALL SELECT '2011-11-04'
    UNION ALL SELECT '2011-11-04'
    UNION ALL SELECT '2011-11-05'
    UNION ALL SELECT '2011-11-05'
    UNION ALL SELECT '2011-11-05'

    SELECT * FROM T_TEST

    SELECT COUNT(*FROM T_TEST 
    WHERE CreateTime>='2011-11-04 00:00:00' AND CreateTime <='2011-11-04 23:59:59'
    --等价于(返回3行,这个没有问题)
    SELECT COUNT(*FROM T_TEST 
    WHERE CreateTime='2011-11-04'


    SELECT COUNT(*FROM T_TEST 
    WHERE CreateTime>='2011-11-04 00:00:00' AND CreateTime <'2011-11-04 23:59:59'
    --等价于(返回0行,因为where条件无意义,这个也没有问题)
    SELECT COUNT(*FROM T_TEST 
    WHERE CreateTime>='2011-11-04' AND CreateTime <'2011-11-04'


    --传入参数为datetime类型(它为什么能返回3行?!!!!这是为什么!!)
    SP_executesql N'
        select COUNT(*) 
        from T_TEST
        where CreateTime>=@BeginTime and CreateTime<@EndTime
    ',N'@BeginTime datetime,@EndTime datetime',
    @BeginTime='2011-11-04 00:00:00',
    @EndTime='2011-11-04 23:59:59'    

    --修改了传参类型为date类型(返回0行)
    SP_executesql N'
        select COUNT(*) 
        from T_TEST
        where CreateTime>=@BeginTime and CreateTime<@EndTime
    ',N'@BeginTime date,@EndTime date',
    @BeginTime='2011-11-04 00:00:00',
    @EndTime='2011-11-04 23:59:59'    
  • 相关阅读:
    [SHOI2008]堵塞的交通
    [SHOI2008]汉诺塔
    [JSOI2008]最小生成树计数
    [JSOI2008]球形空间产生器
    [HNOI2014]画框
    HDU 2255 奔小康赚大钱
    [SDOI2017]新生舞会
    [BZOJ2285][SDOI2011]保密
    [BZOJ3232]圈地游戏
    [HDU5909]Tree Cutting
  • 原文地址:https://www.cnblogs.com/zc_0101/p/2282307.html
Copyright © 2011-2022 走看看