DATEDIFF与SUBSTRING用法

来源:互联网 发布:做精雕编程工资多少 编辑:程序博客网 时间:2024/06/08 03:38

SELECT
    *
FROM
    sale_order_view
WHERE
    1 = 1 AND (
    (DATEDIFF(
            load_time,
            pre_declaration_time
        ) = 0 AND SUBSTRING(pre_declaration_time, 12, 8) < '16:00:00' AND SUBSTRING(load_time, 12, 8) >= '19:00:00'
    ) OR (DATEDIFF(
            load_time,
            pre_declaration_time
        ) = 1 AND (
            (SUBSTRING(pre_declaration_time, 12, 8) < '16:00:00'
            ) OR (SUBSTRING(pre_declaration_time, 12, 8) >= '16:00:00' AND SUBSTRING(load_time, 12, 8) >= '19:00:00'
            )
        )
    ) OR (DATEDIFF(
            load_time,
            pre_declaration_time
        ) > 1
    )

)



DATEDIFF() 函数返回两个日期之间的天数。


SELECT DATEDIFF('2008-12-30','2008-12-29') AS DiffDate

结果:

DiffDate1

例子 2

使用如下 SELECT 语句:

SELECT DATEDIFF('2008-12-29','2008-12-30') AS DiffDate

结果:

DiffDate-1




SUBSTRING  截取2个参数中间的字符,含头不含尾