SQL时间计算

milizi820 2009-04-15 03:20:08
select
SKKR_KOJO,A.KOTEI_CD,A.KEY_NO,KATAMEI_BODY,KATAMEI_KURAKI,
W_LOT_NO,SSN_SKKR_SU,(B.KNRYO_YMD+KNRYO_HMS)AS KNRYO_YMD,
(DATEDIFF(DAY,cast((KNRYO_YMD) AS DATETIME),GETDATE()))-(SELECT COUNT(1) FROM dbo.OTT0430 WHERE (KYJT_YMD BETWEEN KNRYO_YMD AND GETDATE())and SKKR_KOJO=KOJO )as [Delay Days],
CQ_RRK,DBG,
BR39,PCKG_CD,BI_SYRYK,KONPO_MAKE_FLG,SCH_MEI,RSN_KHT_KBN,
CONVERT(VARCHAR(255),GETDATE(),111)AS YMD
from dbo.SHIGUA A LEFT JOIN dbo.SHIGUA_KNRYO B ON A.KEY_NO=B.KEY_NO


B.KNRYO_YMD是nchar(2)类型,KNRYO_HMS 是nchar(2)类型;[Delay Days]是float类型。
为什么计算时没有把时分秒计算进去
...全文
180 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhouyemoye 2009-05-27
  • 打赏
  • 举报
回复
看看你的结贴率啊!!!
Ray_Zhang 2009-05-22
  • 打赏
  • 举报
回复
建议转成统一的字符串后再减时间部分即可CONVERT(CHAR(8),时间字段,108)
milizi820 2009-05-07
  • 打赏
  • 举报
回复
nvarchar(255)
-狙击手- 2009-04-22
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 milizi820 的回复:]
SELECT
CAST(
(SUBSTRING([SUM DT],1,4)+'-'+SUBSTRING([SUM DT],5,2)+'-'+SUBSTRING([SUM DT],7,2)+' '+SUBSTRING([SUM DT],8,2)+':'+SUBSTRING([SUM DT],10,2)+':'+SUBSTRING([SUM DT],12,2)

)AS DATETIME
) FROM dbo.ALPS_SG


消息 8115,级别 16,状态 2,第 1 行
将 expression 转换为数据类型 datetime 时出现算术溢出错误。
[/Quote]


SUM DT 是什么类型呀
mac6211215 2009-04-22
  • 打赏
  • 举报
回复
ORACLE处理时间与 MSSQL 不同
zhuhailong11 2009-04-18
  • 打赏
  • 举报
回复
mark
milizi820 2009-04-16
  • 打赏
  • 举报
回复
SELECT
CAST(
(SUBSTRING([SUM DT],1,4)+'-'+SUBSTRING([SUM DT],5,2)+'-'+SUBSTRING([SUM DT],7,2)+' '+SUBSTRING([SUM DT],8,2)+':'+SUBSTRING([SUM DT],10,2)+':'+SUBSTRING([SUM DT],12,2)

)AS DATETIME
) FROM dbo.ALPS_SG



消息 8115,级别 16,状态 2,第 1 行
将 expression 转换为数据类型 datetime 时出现算术溢出错误。
ACMAIN_CHM 2009-04-15
  • 打赏
  • 举报
回复

DATEDIFF(), 有些数据库产品中是先对两个日期做取整然后再相减的。所有不会考虑时间部分。 你用的是什么数据库?
milizi820 2009-04-15
  • 打赏
  • 举报
回复
select datediff(day,cast([sum dt] as datetime),getdate()) from a

消息 241,级别 16,状态 1,第 1 行
从字符串向 datetime 转换时失败。

6,108

社区成员

发帖
与我相关
我的任务
社区描述
其他数据库开发 数据库报表
社区管理员
  • 数据库报表社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧