Sql SSIS表达式获取前一天晚上11:59
所以我仍然习惯于SQL/SSIS。我想得到前几天的日期时间,所以是2018年5月15日11:59。我能够研究并找到一个表达式,该表达式可以在上午12点获取上一个日期,这可能适合您的需要Sql SSIS表达式获取前一天晚上11:59,sql,sql-server,ssis,Sql,Sql Server,Ssis,所以我仍然习惯于SQL/SSIS。我想得到前几天的日期时间,所以是2018年5月15日11:59。我能够研究并找到一个表达式,该表达式可以在上午12点获取上一个日期,这可能适合您的需要 DATEADD("Day", -1,(DT_DBDATE)DATEDIFF("Day", (DT_DBDATE) 0, GETDATE())) 这也将起作用(使用今天的日期来演示): 如果您试图在SSIS表达式中执行此操作,您将看到 select cast(cast(getdate() as dat
DATEADD("Day", -1,(DT_DBDATE)DATEDIFF("Day", (DT_DBDATE) 0, GETDATE()))
这也将起作用(使用今天的日期来演示):
如果您试图在SSIS表达式中执行此操作,您将看到
select cast(cast(getdate() as date) as datetime)-(1/cast(1440 as float))
从右到左阅读
计算GETDATE()并提供截至当前的日期和时间。闪烁,它会得到更新
(DT_DBDATE)是对仅支持日期而不支持时间组件的数据类型的强制转换
但是,我们需要时间返回到DT_DATE的数据类型,因为它支持时间,所以在SSIS中将日期重置为午夜是一种聪明的方法
然后我们使用DATEADD函数从上面减去1分钟
另一种方法,留给谦逊的读者,是对时间组件使用字符串操作。将一天重置为午夜,然后将所需时间作为字符串连接到末尾,然后将其转换回DT_日期
select cast(cast(getdate() as date) as datetime)-(1/cast(1440 as float))
DATEADD("minute", -1, (DT_DATE)((DT_DBDATE) GETDATE()))