sql日期,标记,配置单元

sdnqo3pr  于 2021-06-26  发布在  Hive
关注(0)|答案(2)|浏览(341)

我有一个以“12/14/2017”格式显示日期的表,我想创建另一个列,将月份与此日期字符串分隔开来,并将其表示为“一月”而不是“01”。我想我需要一个case函数和一些日期函数的混合。
表格:

Column A   
12/14/2017
12/11/2017
2/16/2018
1/2/2017

我需要的输出,我将在b列:

Column A    Column B (Output)
12/14/2017  December
12/11/2017  December
2/16/2018   February
1/2/2017    January
wbrvyc0a

wbrvyc0a1#

SELECT columnA,  
    CASE EXTRACT(MONTH FROM TO_DATE(columnA,'mm/dd/yyyy')) 
        WHEN 1 THEN 'January' 
        WHEN 2 THEN 'February' 
        WHEN 3 THEN 'March'
        WHEN 4 THEN 'April'         
        WHEN 5 THEN 'May' 
        WHEN 6 THEN 'June' 
        WHEN 7 THEN 'July'  
        WHEN 8 THEN 'August'
        WHEN 9 THEN 'September' 
        WHEN 10 THEN 'October' 
        WHEN 11 THEN 'November' 
        WHEN 12 THEN 'December'  
    END AS columnB
FROM yourTable
scyqe7ek

scyqe7ek2#

可以将值转换为日期,然后再转换为月份字符串:

DATE_FORMAT(TO_DATE(columnA, 'MM/DD/YYYY', 'MMMM')

相关问题