【问题标题】:Why is SUBSTRING(DateUpdated,0,11) different than the first 11 characters of DateUpdated?为什么 SUBSTRING(DateUpdated,0,11) 与 DateUpdated 的前 11 个字符不同?
【发布时间】:2016-09-29 13:43:18
【问题描述】:

我假设这是某种时区偏移问题,但谁能准确解释这里发生了什么?请注意,这是。

SELECT 
    DateUpdated,
    TimeUpdated, 
    SUBSTRING(dateUpdated,0,11) as DU, 
    SUBSTRING(timeUpdated,0,11) as TU
FROM Schema.Table

为什么SUBSTRING(DateUpdated,0,11) 与DateUpdated 的前11 个字符不同?

【问题讨论】:

  • dateUpdated 和 timeUpdated 的数据类型是什么?
  • 两者都是DATA_TYPE: 93、TYPE_NAME: TIMESTAMP和SQL_DATA_TYPE: 11

标签: intersystems-cache sql datetime timezone intersystems-cache


【解决方案1】:

如果你能在这个类中为这个属性定义过去会更好。无论如何,我不建议将日期与字符串一起使用。相反,您应该使用CONVERT 函数,其中CONVERT(Date, DateUpdated) 仅返回日期,CONVERT(Time, DateUpdated) 仅返回此属性的时间

【讨论】:

  • “无论如何,我建议将日期与字符串一起使用”。我想你的意思是“我不会推荐”。
猜你喜欢
  • 2010-09-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-08-10
  • 1970-01-01
  • 1970-01-01
  • 2021-06-27
相关资源
最近更新 更多