我是SQL的新手,我知道如何在带有十进制类型的sql中使用过滤器,但这次我使用的是字符串类型。
这是此表输出的屏幕截图。
这是SQL select语句,它正在运行
SELECT EVENTID,
STARTDATETIME,
F_NAME,
DURATIONHM,
NUM_PEOPLE
FROM EVENT_FACT
where DURATIONHM > '3 hrs'
答案 0 :(得分:1)
您无法以您希望的方式编写查询。您需要以分钟为单位存储持续时间,然后使用:
where duration >= 3*60
您可以通过一系列努力创建一个解析字符串以获取分钟数的视图。在某些数据库中,您还可以将这样的字符串转换为时间或间隔数据类型,这将使您更进一步。
但是,您发现的是将持续时间存储为字符串不符合您对该字段的查询要求。 (如果你试图按持续时间排序,你会发现同样的事情。)