我有演示表 我想创建视图,这是我的查询
create view Demo_View as
select sms_sent_identifier,year(sms_sent_dt) Year1,
case month(sms_sent_dt)
when 1 then 'Q1'
when 2 then 'Q1'
when 3 then 'Q1'
when 4 then 'Q2'
when 5 then 'Q2'
when 6 then 'Q2'
when 7 then 'Q3'
when 8 then 'Q3'
when 9 then 'Q3'
when 10 then 'Q4'
when 11 then 'Q4'
when 12 then 'Q4'
end Quarter1,
Month(sms_sent_dt) Month1,
day(sms_sent_dt) Date1,
***hour(sms_sent_dt) Hour1,***
minute(sms_sent_dt) Minute1
from subs_sms;
O / p它给出了日期时间,例如12,13我希望它以12格式,即上午11点,上午12点 我应该怎么做
答案 0 :(得分:0)
这可以通过使用提醒a%b以简单的方式完成。如果除以12,您将获得12小时值。或者第二种方法是将日期格式改为yyyy-MM-dd HH:mm:ss to yyyy-MM-dd hh:mm:ss。我在下面给出了第一种和第二种方法的例子。
请尝试第一种方法:
create view Demo_View as
select sms_sent_identifier,year(sms_sent_dt) Year1,
case month(sms_sent_dt)
when 1 then 'Q1'
when 2 then 'Q1'
when 3 then 'Q1'
when 4 then 'Q2'
when 5 then 'Q2'
when 6 then 'Q2'
when 7 then 'Q3'
when 8 then 'Q3'
when 9 then 'Q3'
when 10 then 'Q4'
when 11 then 'Q4'
when 12 then 'Q4'
end Quarter1,
Month(sms_sent_dt) Month1,
day(sms_sent_dt) Date1,
(hour(sms_sent_dt)%12) Hour1,
minute(sms_sent_dt) Minute1
from subs_sms;
这是第二种方法:
hour(from_unixtime(unix_timestamp(sms_sent_dt),'yyyy-MM-dd hh:mm:ss'))