佳礼资讯网

 找回密码
 注册

ADVERTISEMENT

查看: 1453|回复: 1

為什麼我的SQL指令無法比較日期的?誰能幫我除錯? 很簡單,但我就是不懂錯在哪裡

[复制链接]
发表于 8-1-2009 03:31 PM | 显示全部楼层 |阅读模式
CREATE TABLE #TEMP
(
        [Date] [datetime] NULL
)
INSERT INTO #TEMP([Date]) Values ('07/01/2009 12:00')
INSERT INTO #TEMP([Date]) Values ('07/01/2009 12:01')
INSERT INTO #TEMP([Date]) Values ('08/01/2009 12:00')
INSERT INTO #TEMP([Date]) Values ('08/01/2009 12:01')

SELECT 'Compared Date' = CASE WHEN [Date] > CONVERT(DATETIME, (CONVERT(VARCHAR, [Date], 103) + ' 12:00:00.000')) THEN [Date]+1 ELSE [Date] END, 'Original Date' = [Date], 'Converted Date' = CONVERT(DATETIME, (CONVERT(VARCHAR, [Date], 103) + ' 12:00:00.000'))
FROM #Temp

DROP Table #TEMP


執行上面的指令先。
我的目的是
要拿original date去對比converted date
如果original date真的超過中午12點,那麼我的compared date要加一天
如果沒有超過12點,那麼就放回原本的日期

到底我錯在哪裡呀?
誰會呢?
回复

使用道具 举报


ADVERTISEMENT

发表于 9-1-2009 11:42 PM | 显示全部楼层
试试看:

select 'Compared Date' = case when DATEPART([hour], @date) > 12 then (@date+1)
when (DATEPART([hour], @date) = 12 AND DATEPART([minute], @date) > 0) then (@date+1)
when (DATEPART([hour], @date) = 12 AND DATEPART([second], @date) > 0) then (@date+1)
else @date
end
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

 

ADVERTISEMENT



ADVERTISEMENT



ADVERTISEMENT

ADVERTISEMENT


版权所有 © 1996-2023 Cari Internet Sdn Bhd (483575-W)|IPSERVERONE 提供云主机|广告刊登|关于我们|私隐权|免控|投诉|联络|脸书|佳礼资讯网

GMT+8, 19-12-2025 08:30 PM , Processed in 0.190781 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表