【问题标题】:how to insert SQL query inside string如何在字符串中插入 SQL 查询
【发布时间】:2020-11-19 09:46:26
【问题描述】:

我有这两个问题。

  1. to_char(to_date('1970-01-01 **1:00:00**', 'yyyy-mm-dd hh24:MI:SS') + NET_START.STARTPROC/1000/60/60/24, 'yyyy-mm-dd hh24:MI:SS') as STARTPROC;

  2. SELECT TO_CHAR(SYSTIMESTAMP, 'tzr') FROM dual

查询 2 返回一个包含 1:00:00 的字符串,我想在查询 1 中使用该查询来替换突出显示的 1:00:00。

类似的东西

to_char(to_date('1970-01-01 (SELECT TO_CHAR(SYSTIMESTAMP, 'tzr') FROM dual)’, 'yyyy-mm-dd hh24:MI:SS') + NET_START.STARTPROC/1000/60/60/24, 'yyyy-mm-dd hh24:MI:SS') as STARTPROC

【问题讨论】:

    标签: sql oracle date oracle-sqldeveloper


    【解决方案1】:

    Oracle 使用|| 连接字符串

    to_date('1970-01-01'||(SELECT TO_CHAR(SYSTIMESTAMP, 'tzr') FROM dual), 'yyyy-mm-dd hh24:MI:SS')
    

    试试这个。

    【讨论】:

    • 应该是'1970-01-01 '(有空格)
    • 哎呀。这是一个错字。但我很确定 OP 会明白这些意思。
    【解决方案2】:

    您可以简单地使用|| 运算符而不进行查询,如下所示:

    to_char(to_date('1970-01-01 ' || TO_CHAR(SYSTIMESTAMP, 'tzr') , 'yyyy-mm-dd hh24:MI:SS') 
    + NET_START.STARTPROC/1000/60/60/24, 'yyyy-mm-dd hh24:MI:SS') as STARTPROC;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-01-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多