sql - 基于时间戳派生一个新列
问题描述
我有一列带有数据类型文本的“customer_date”。
根据我需要派生一个新列的时间
健康)状况 :
- 当 customer_date <12 则为 'AM' 否则为 'PM
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;
解决方案
这在我测试时有效:
select (case when EXTRACT(HOUR FROM customer_date::timestamp) < 12 then 'AM' else 'PM' end) as session
from mytable;
我添加了显式转换和when
.
推荐阅读
- firebase - Flutter 依赖于 firebase_analytics 0.0.4,需要 SDK 版本 >=1.8.0 <2.0.0,版本解析失败
- c - 除非我调用 printf() 函数,否则 C 代码会卡住
- python - 在 linux 中从 selenium 启动 chromium 的路径是什么?
- amazon-web-services - 将数据传递给 step 函数 catch
- swift - 如何在 Swift 中将垂直对齐应用于 UIBarButtonItem
- tensorflow - Q 关于“超网络”tape.gradient 来自 F. Chollet 为研究人员编写的 tf.keras:速成课程
- python - pandas 系列 groupby 与一组
- python - 使用 Spacy 自定义空间标记化
- java - MySQL Java Prepared Statement 如果不存在则插入
- javafx - 即使值为 0 或 1.0,也从 ScrollBar 获取滚动事件