SQL:从Month_year name列获取月份的开始日期

时间:2019-03-25 07:31:22

标签: mysql sql

我的日期数据如下:

b = b'\xc4\x03\x00\x00\xe2\xecqv\x01'
b[0] # 196
lst = list(b)
#  [196, 3, 0, 0, 226, 236, 113, 118, 1]

我想将此转换为以下格式:

 Monthyear
    Jan 2018
    Feb 2018
    Mar 2018

也就是说,作为带有月份的第一天的日期。

我尝试投射以上内容,但不起作用。 请帮我。

2 个答案:

答案 0 :(得分:2)

您可以使用STR_TO_DATE

SELECT STR_TO_DATE(CONCAT('1 ', Monthyear), '%e %b %Y')

例如

SELECT STR_TO_DATE(CONCAT('1 ', 'Jan 2018'), '%e %b %Y')

输出:

2018-01-01

CONCAT对字符串进行'1 '的原因是为了避免SQL NO_ZERO_DATE模式的问题(在STR_TO_DATE的手册条目中对此进行了讨论)。 / p>

答案 1 :(得分:2)

使用str_to_date()

select str_to_Date(concat('01',Monthyear),"%d %b %Y")
相关问题