如何在Oracle SQL中将日期格式为'Mar 14 2023 12:00AM'的数据类型Varchar转换为日期数据类型?

svmlkihl  于 2023-03-17  发布在  Oracle
关注(0)|答案(2)|浏览(320)

我有一个日期列的数据,格式为“Mar 14 2023 12:00 AM”,数据类型为VARCHAR 2,如何将其转换为oracle服务器中的日期数据类型,格式为“MM/DD/YYYY”?
我试过约会,但上面说
转换整个输入字符串之前,日期格式图片结束

o8x7eapl

o8x7eapl1#

可以使用以下命令将数据转换为DATE类型

TO_DATE('Mar 14 2023 12:00AM','Mon dd yyyy hh:miPM','NLS_DATE_LANGUAGE=English')

然后应用**TO_CHAR()**以所需格式显示,例如

TO_CHAR(
        TO_DATE(
                'Mar 14 2023 12:00AM',
                'Mon dd yyyy hh:miPM',
                'NLS_DATE_LANGUAGE=English'
               ),
        'mm/dd/yyyy'
       ) AS "Date Col"

Date Col
----------
03/14/2023
drnojrws

drnojrws2#

您可以使用TO_DATE将其转换为DATE

TO_DATE(
  'Mar 14 2023 12:00AM',
  'Mon DD YYYY HH12:MIAM',
  'NLS_DATE_LANGUAGE=English'
)

DATE是一种二进制数据类型(它在内部存储为7个字节,表示世纪、世纪年、月、日、小时、分钟和秒,并且它总是具有这些组件),并且它从不以任何特定的人类可读格式存储。
如果您希望日期采用特定格式,则需要将其转换回字符串:

TO_CHAR(
  TO_DATE(
    'Mar 14 2023 12:00AM',
    'Mon DD YYYY HH12:MIAM',
    'NLS_DATE_LANGUAGE=English'
  ),
  'MM/DD/YYYY'
)

相关问题