简体   繁体   English

从varchar转换为日期时间以进行排序

[英]Conversion from varchar to datetime for sorting

I have column with varchar datatype . 我有varchar数据类型的列。 which contains date as below format: 包含以下格式的日期:

04-JAN-18 11.23.32.195734 AM +05:30

I need to sort rows based on latest timestamp.What is the function to use? 我需要根据最新时间戳对行进行排序。要使用的功能是什么?

SELECT *
FROM ent_organizations
order by TO_TIMESTAMP(updatedtimestamp,'YYYY-MON-DD HH.MI.SS.FF') desc

ORA-01830: date format picture ends before converting entire input string 01830. 00000 - "date format picture ends before converting entire input string" *Cause: ORA-01830:日期格式的图片在转换整个输入字符串之前结束01830。00000-“日期格式的图片在转换整个输入字符串之前结束” *原因:
*Action: *行动:

Convert the string to TIMESTAMP like this: 像这样将字符串转换为TIMESTAMP

TO_TIMESTAMP_TZ(updatedtimestamp,'DD-MON-YY HH.MI.SS.FF AM TZH:TZM', 'NLS_DATE_LANGUAGE = american') 

If you use it for sorting then it will be based on UTC times, not local time values. 如果将其用于排序,则它将基于UTC时间,而不是本地时间值。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM