如何编写此查询(如果使用sql和日期)

如何编写此查询(如果使用sql和日期),sql,Sql,如何编写查询 select MC_HOST_ADDRESS, LOCATION_TYPE , MC_LOCATION, MSG, STREET/SUBLOCATION, DURATION/( CLOSED_TIME - MC_ARRIVAL_TIME) if ( MC_ARRIVAL_TIME < Start Date ) then use Start Date else use End Date where MC_Object = ‘Camera’ AND MC_P

如何编写查询

select MC_HOST_ADDRESS, LOCATION_TYPE , MC_LOCATION, MSG, STREET/SUBLOCATION, DURATION/( CLOSED_TIME - MC_ARRIVAL_TIME)
if  ( MC_ARRIVAL_TIME <  Start Date )  then   use Start Date  else  use End Date
where  
 MC_Object = ‘Camera’ AND
 MC_Parameter= ‘CameraFeed’ AND
(MC_ARRIVAL_TIME between Start Date and End Date)  OR
              ( CLOSED_TIME between Start Date and End Date) OR
         ( MC_ARRIVAL_TIME <=  Start Date and CLOSED_TIME >= End Date) OR
 ( MC_ARRIVAL_TIME <=  Start Date and CLOSED_TIME == NULL)enter code here`
选择MC_主机地址、位置类型、MC_位置、消息、街道/子位置、持续时间/(关闭时间-MC_到达时间)
如果(MC_到达时间<开始日期),则使用开始日期,否则使用结束日期
哪里
MC_Object=‘摄影机’和
MC_参数='CameraFeed'和
(开始日期和结束日期之间的MC_到达时间)或
(开始日期和结束日期之间的结束时间)或
(MC_到达时间=结束日期)或

(MC_ARRIVAL_TIME在查询中使用用例语句而不是IF子句

CASE WHEN MC_ARRIVAL_TIME <  StartDate  THEN  StartDate  ELSE   EndDate END
当MC\U到达时间
您使用的是哪种DBMS?“if-else”不能用于select,请使用“case”代替感谢您的回复我做到了…..感谢您在简短中解释请搜索sql case语句。它的简单日期我应该使用它到日期(尺寸日期)对于日期比较,比较的两边都必须有日期数据类型…所以如果值不是日期形式,则需要使用to_date()函数转换为日期类型