提问人:Nigar Hesenli 提问时间:7/3/2023 最后编辑:Selaka NanayakkaraNigar Hesenli 更新时间:7/16/2023 访问量:66
在表达时使用强制转换
Using cast in case when expression
问:
我想写这种类型的查询:
SELECT
CASE
WHEN t1.date_closed - t1.created_date < t3.estimated_solution_time_minutes THEN 'не в SL'
ELSE 'в SL'
END AS result
但是t1.date_closed和t1.created_date是这样的间隔 '2023-05-02 11:30', 但是t3.estimated_solution_time_minutes是整数,我得到错误:错误:运算符不存在:间隔<整数
如何将这些间隔转换为整数
答:
0赞
Jora Karyan
7/3/2023
#1
Yu 可以使用此语法来更改类型
t1.date_closed :: INT
t1.created_date :: INT
第二种方式是
CAST(t1.date_closed as INT)
CAST(t1.created_date as INT)
评论
0赞
Nigar Hesenli
7/7/2023
我在选择后在哪里写这个语法?
0赞
Nigar Hesenli
7/7/2023
@Mike Organek,谢谢!您的评论解决了问题
0赞
Chris Travers
7/16/2023
#2
问题不在于 CAST。在这种情况下,您可能希望EXTRACT(SECONDS FROM (date_closed - created_date))
评论
t1.date_closed - t1.created_date < make_interval(mins => t3.estimated_solution_time_minutes)
date_closed
interval
'2023-05-02 11:30'
interval
timestamp