【问题标题】:Timestamp_problem?时间戳问题?
【发布时间】:2016-12-17 04:48:37
【问题描述】:

我正在使用 sql 查询创建一个表。我有两列,即START_TIMEEND_TIME。对于要输入的两个时间,应该分别在上午 8 点之后和晚上 10 点之前。所以你能告诉我我该怎么做吗?要使用的数据类型是TIMESTAMP

【问题讨论】:

  • 您能否edit 您的问题并为您正在使用的数据库系统(例如 MySQL、SQL Server、Oracle 等)添加特定标签
  • 您可以定义一个检查约束来确保这一点。
  • 使用的服务器是Oracle。我确实输入了 CHECK 约束,但又遇到了一个问题。时间格式是 12 小时而不是 24 小时,所以超过 12 小时的时间是不可接受的。
  • 向我们展示您的检查约束。 (真实的)timestamp 没有“格式”。既不是 12 小时格式,也不是 24 小时格式。如果我不得不猜测,我会说您正在将字符串常量与时间戳值进行比较,该时间戳值会受到邪恶的隐式数据类型转换。

标签: sql oracle timestamp


【解决方案1】:

TimeStamp/Version 类型列可以是表中的一个。您可以为此使用日期时间列。对于时间计算,您可以使用 datediff 函数和 h 小时 d 天等。

时间戳和版本类型列仅用于数据并发,您不能在该列中显式输入值。

【讨论】:

  • 这似乎并不能回答这里的大部分问题,而且似乎还假设sql-server,由于问题上没有特定的标签,目前还不知道。
  • 请指定您正在使用的数据库。
猜你喜欢
  • 2011-03-16
  • 2017-04-02
  • 2010-11-22
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多