Sql oracle中的12小时格式
我有一个函数,可以在一列中接收用户名并返回输入时间、输出时间和用户名 我使用子字符串将其分成3列,超时返回为24小时格式,我需要将其转换为12小时格式Sql oracle中的12小时格式,sql,oracle,oracle-sqldeveloper,Sql,Oracle,Oracle Sqldeveloper,我有一个函数,可以在一列中接收用户名并返回输入时间、输出时间和用户名 我使用子字符串将其分成3列,超时返回为24小时格式,我需要将其转换为12小时格式 select substr( FUN1('username'),1,5) TIMEIN , substr( FUN1('username'),7,6) TIMEOUT, substr( FUN1('username'),12,100) NAME from dual; 使用TO_CHAR功能 SELECT TO_CH
select substr( FUN1('username'),1,5) TIMEIN ,
substr( FUN1('username'),7,6) TIMEOUT,
substr( FUN1('username'),12,100) NAME from dual;
使用
TO_CHAR
功能
SELECT TO_CHAR(substr( FUN1('username'),1,5), 'DD-MM-YYYY HH:MI:SS AM') TIMEIN,
TO_CHAR(substr( FUN1('username'),7,6), 'DD-MM-YYYY HH:MI:SS AM') TIMEOUT,
substr( FUN1('username'),12,100) NAME
FROM dual;
您可以通过将超时转换为使用to_date的日期(假设时间为24小时格式),然后将其重新转换为使用to_CHAR的字符串(格式为12小时格式)来完成此操作-
select to_char(to_date('13:00', 'HH24:MI'),'HH:MI AM') from dual;
下面是问题中的SQL在超时时的样子-
select substr( FUN1('username'),1,5) TIMEIN ,
to_char(to_date(substr( FUN1('username'),7,6), 'HH24:MI'),'HH:MI AM') TIMEOUT,
substr( FUN1('username'),12,100) NAME from dual;
查看FUN1功能将非常有用检查此链接以24小时或12小时格式打印:我没有访问此功能的权限,它位于其他数据库中。