首页 > 解决方案 > 从单独的日期和时间 int 创建时间戳

问题描述

我试图从数据库表中的字段创建从 - 到日期时间范围。

不幸的是,这些字段没有保存为时间戳。

我有两个条目 - 从午夜开始的小时数 - 从 1970 年 1 月 1 日开始的日期

是否有组合这些条目的命令,以便我可以使用 select 语句并在一段时间内搜索?

我的数据库是 sybase 15.7

标签: sapsybaseamos

解决方案


Sybase 中的时间戳列类型不是......关于时间和日期(看看这个What is the wonderful 'timestamp' datatype in Sybase?)。

如果您希望能够按日期时间(结合日期和时间)过滤记录,您应该查看以下内容:

  1. 表中日期时间类型的列

您还可以使用 sybase 的 getdate() 函数记录默认值,如下所示: datetime_field DATETIME default getDate()

  1. 使用 DATE 和 TIME 类型的 2 列,您可以组合然后获得可用于过滤记录的 DATETIME 类型。

例如:

# Casting into a DATETIME from DATE and TIME fields
CAST(date_field AS DATETIME) + CAST(time_field AS DATETIME)

# Filtering against DATETIME
SELECT * FROM MyTable
WHERE datetime_field < CAST(date_field AS DATETIME) + CAST(time_field AS DATETIME)

推荐阅读