新手到postgresql这里。在8.3(不是我的选择,不能在不久的将来做任何事情)。
我从表中选择一些“时间”文本字符串并将它们插入视图中:
create or replace view test as (
select
case
when desc like '%opening%' then 'opening'
when desc like '%closing%' then 'closing'
else n/a
end as time_type,
to_timestamp(time, 'MM/DD/YYYY HH:MI:SS AM') where time_type = 'closing' as closing_time,
to_timestamp(time, 'MM/DD/YYYY HH:MI:SS AM') where time_type = 'opening' as opening_time
from source_table);
我收到错误:
ERROR: syntax error at or near "as"
LINE 8: .../YYYY HH:MI:SS AM') where time_type = 'closing' as closing...
我之前使用过这种语法来创建其他视图让我很困惑。是因为我的where语句被错误地放置了吗?但是如果我把它们放在它们之后,它们将被普遍应用,不,这不是我想要的。
答案 0 :(得分:1)
两个表达式看起来应该是case语句,例如:
case
when time_type = 'closing' then
to_timestamp(time, 'MM/DD/YYYY HH:MI:SS AM')
else null
end as closing_time
答案 1 :(得分:0)
将以to_timestamp
开头的两个投影转换为CASE
语句。