Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/75.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SQL Select案例-我是否正确使用了它?_Sql_Postgresql - Fatal编程技术网

SQL Select案例-我是否正确使用了它?

SQL Select案例-我是否正确使用了它?,sql,postgresql,Sql,Postgresql,我正在尝试执行一个select,它根据一个受控值(让我们将其命名为value1)计算不同的值。我试图计算两个值之间的时间差 表“test”如下所示(我没有CREATETABLE语句,我只是提取并简化实时数据库的内容): 我得到一个错误: ERROR: CASE types timestamp without time zone and interval cannot be matched 简而言之,如果value1等于'A',那么我想减去值2和3。Value1是字符串,values2、3和4是

我正在尝试执行一个select,它根据一个受控值(让我们将其命名为value1)计算不同的值。我试图计算两个值之间的时间差

表“test”如下所示(我没有CREATETABLE语句,我只是提取并简化实时数据库的内容):

我得到一个错误:

ERROR: CASE types timestamp without time zone and interval cannot be matched
简而言之,如果value1等于'A',那么我想减去值2和3。Value1是字符串,values2、3和4是带时间的日期

我理解错了吗


编辑:好的,我有时有点迟钝,我的问题是value4是字符串,所以我必须用
select to_timestamp

再次选择它
value3
value4
列的类型不是some类型,也不能转换为单个类型。错误消息清楚地说明了这一点

从:

所有结果表达式的数据类型必须可转换为 单一输出类型


在postgres中处理日期和时间值时,减法运算符可能会产生各种类型(不可转换)的结果

缺少表中的
名称
。如果
value2
value3
value4
都定义为
timestamp
,则请添加它并共享要在其上运行此查询的完整表结构。请回答您的问题,并为相关表格添加
create table
语句。请,-您的问题-不要在评论中发布代码或其他信息。从错误中可以看出,您的代码应该不同
ERROR: CASE types timestamp without time zone and interval cannot be matched