Conversion of timestamp to date type mmddyy fails

1

I need to convert timestamp into MMDDYY format : 2020-01-31 01:14:00.000 must be converted to 01/31/20 the timestamp is stored in a table and I need to display it as MMDDYY Here is what I am trying to use : to_date(cast(timestamp_column as varchar), 'DDMMYY') - returns a completely different date

Please anyone help me out here asap

akc_adi
質問済み 1年前2275ビュー
2回答
2

to_date(cast(timestamp_column as varchar), 'DDMMYY')

So breaking this down, start at the inner most function.

cast(timestamp_column as varchar)

This will convert the timestamp to varchar and be something like this 2022-11-09 15:22:48.594634+00

So then you have to_date() with the mask of DDMMYY. This means you are telling the to_date function that the format of the first parameter will be formatted like 091122 when it isn't at all. I'm guessing the output was something like 1990-10-22.

How it is stored versus how it is displayed are two different things. It is a timestamp so don't worry about how it is stored. It isn't a string. So to display the timestamp in the format you want, use to_char. It means you are taking the timestamp and formatting with the mask you are providing.

to_char(timestamp_column, 'DDMMYY')

For example:

select to_char(now(), 'DDMMYY');
 to_char 
---------
 091122
profile pictureAWS
エキスパート
回答済み 1年前
AWS
エキスパート
レビュー済み 1年前
0

Hi akc_adi,

Have you tried the following?

select to_char(timestamp_column,'DDMMYY')

If the timestamp_column is stored as varchar, then you have to cast to timestamp before:

select to_char(cast('2020-01-31 01:14:00.000' as timestamp),'DDMMYY')

Thanks,

AWS
エキスパート
Ziad
回答済み 1年前
  • the additional explanation in the other answer make it easier to understand.

ログインしていません。 ログイン 回答を投稿する。

優れた回答とは、質問に明確に答え、建設的なフィードバックを提供し、質問者の専門分野におけるスキルの向上を促すものです。

質問に答えるためのガイドライン

関連するコンテンツ