请下列将Oracle语句转为mysql语句 decode(t.pm_mp_machine_id,'JJY213',ROUND(t.STOPTIME/60,0),ROUND(( t.STOPTIME-(case when t.no>1 then nvl(lag(t.STOPTIME,1) over(partition by t.producedate,t.pb_shift_id,t.pm_mp_machine_id,t.pm_mp_stopcode_id order by t.no),0) else 0 end ))/60,0 )) AS STOPTIME
时间: 2024-04-19 17:25:32 浏览: 147
在MySQL中,你可以使用CASE语句来模拟Oracle中的DECODE函数,并使用ROUND函数进行四舍五入。以下是将Oracle语句转换为MySQL语句的示例:
CASE WHEN t.pm_mp_machine_id = 'JJY213' THEN ROUND(t.STOPTIME/60, 0) ELSE ROUND((t.STOPTIME - (CASE WHEN t.no > 1 THEN COALESCE(LAG(t.STOPTIME, 1) OVER(PARTITION BY t.producedate, t.pb_shift_id, t.pm_mp_machine_id, t.pm_mp_stopcode_id ORDER BY t.no), 0) ELSE 0 END))/60, 0) END AS STOPTIME
请注意,MySQL中使用COALESCE函数来代替Oracle中的NVL函数,并使用ROUND函数进行四舍五入。
相关问题
请下列将Oracle语句转为mysql语句 decode(t.pm_mp_machine_id,'JJY213',t.stopcnt,t.stopcnt-(case when t.no>1 then nvl(lag(t.stopcnt,1) over(partition by t.producedate,t.pb_shift_id,t.pm_mp_machine_id,t.pm_mp_stopcode_id order by t.no),0) else 0 end )) AS STOPCNT
在MySQL中,你可以使用CASE语句来实现类似Oracle中的DECODE函数的功能。以下是将Oracle语句转换为MySQL语句的示例:
CASE WHEN t.pm_mp_machine_id = 'JJY213' THEN t.stopcnt ELSE t.stopcnt - (CASE WHEN t.no > 1 THEN COALESCE(LAG(t.stopcnt, 1) OVER(PARTITION BY t.producedate, t.pb_shift_id, t.pm_mp_machine_id, t.pm_mp_stopcode_id ORDER BY t.no), 0) ELSE 0 END) END AS STOPCNT
请注意,MySQL中使用COALESCE函数来代替Oracle中的NVL函数。
decode( bb.PM_FLAG,'Y','Y','N' ) 预约
decode函数是Oracle数据库中的一个函数,它用于将一个值按照指定的规则进行转换。在这个例子中,decode函数的含义是:如果bb.PM_FLAG的值为'Y',则返回'Y',否则返回'N'。
预约是指在医疗领域中,病人预约医生的时间,以便得到更好的服务。在这个问题中,我不清楚预约和decode函数之间是否有任何关系,如果您能提供更多的上下文信息,我将会更好地回答您的问题。
阅读全文