首页 > 解决方案 > 基于时间戳派生一个新列

问题描述

我有一列带有数据类型文本的“customer_date”。

根据我需要派生一个新列的时间

健康)状况 :


customer_date

01Mar2018 10:03:54
02Mar2018 13:03:54

预期产出

  customer_date             session

01Mar2018 10:03:54        AM
02Mar2018 13:03:54        PM

当我写的时候它给我带来了错误

select 
case EXTRACT(HOUR FROM customer_date)<12 then 'AM' else 'PM' end as session
from my table;

标签: sqlpostgresqlsql-date-functionssqldatetime

解决方案


这在我测试时有效:

select (case when EXTRACT(HOUR FROM customer_date::timestamp) < 12 then 'AM' else 'PM' end) as session
from mytable;

我添加了显式转换和when.


推荐阅读