Hi我有一个整数类型的列值,如202201,202202直到202306(yyyymm)。列名是period_int,我想将其转换为date,以便以格式(01/01/2022)(mmddyyyy)获得它尝试datetime没有工作,因为我有列的名称与值,而不是一个单一的值。我必须取此值并在Tableau筛选器中表示
bprjcwpo1#
看看这是否有帮助:将整数值转换为varchar,并将结果与'01'连接,然后将其转换为日期。
varchar
'01'
SELECT CONVERT(date, CONVERT(varchar(8), period_int) + '01', 112) FROM <your table>
这将给予2022-02-01。如果你希望结果是dd/mm/yyyy,就像这样使用它:
2022-02-01
SELECT CONVERT(varchar, CONVERT(date, CONVERT(varchar(8), 202202) + '01', 112), 103);
Check this link for more formats used to convert date to varchar or vice versa
qij5mzcb2#
这适用于mysql,但您应该标记您正在使用的DBMS
select date_format(date(concat([date as integer],'01')),'%m/%d/%Y');
给你
01/01/2022
rnmwe5a23#
首先使用to_date()将字符串转换为日期,然后使用to_char()将转换后的日期转换为所需的格式:
to_date()
to_char()
select to_char(to_date(period_int || 01, 'yyyymmdd'), 'mm/dd/yyyy') from mytable;
3条答案
按热度按时间bprjcwpo1#
看看这是否有帮助:
将整数值转换为
varchar
,并将结果与'01'
连接,然后将其转换为日期。这将给予
2022-02-01
。如果你希望结果是dd/mm/yyyy,就像这样使用它:
Check this link for more formats used to convert date to varchar or vice versa
qij5mzcb2#
这适用于mysql,但您应该标记您正在使用的DBMS
给你
rnmwe5a23#
首先使用
to_date()
将字符串转换为日期,然后使用to_char()
将转换后的日期转换为所需的格式: