Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql oracle中的12小时格式_Sql_Oracle_Oracle Sqldeveloper - Fatal编程技术网

Sql oracle中的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

我有一个函数,可以在一列中接收用户名并返回输入时间、输出时间和用户名

我使用子字符串将其分成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_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小时格式打印:我没有访问此功能的权限,它位于其他数据库中。