从select语句检索自定义列的查询

nr9pn0ug  于 2021-07-24  发布在  Java
关注(0)|答案(2)|浏览(333)

假设customers表中有以下列: customer_id 以及 customer_name .
从我试图执行的select语句中,我需要添加一个自定义 sysdate 与客户表不关联的列,并为其指定值。我尝试使用内部查询,但这只会导致 current_date 列,但它没有值。
示例-

SELECT CUSTOMER_ID, CUSTOMER_NAME, (SELECT SYSDATE FROM DUAL) AS CURRENT_DATE
FROM customers

输出

CUSTOMER_ID || CUSTOMER_NAME || CURRENT_DATE
-----------    -------------    ------------
1              JOHN DOE          
2              JANE DOE

我试图得到的预期输出如下-有人能为我提供一个解决这个问题的方法吗?
输出

CUSTOMER_ID || CUSTOMER_NAME || CURRENT_DATE
-----------    -------------    ------------
1              JOHN DOE          08/07/2020
2              JANE DOE          08/07/2020
ezykj2lf

ezykj2lf1#

在我的数据库中

SQL> select empno, ename, sysdate
  2  from emp
  3  where rownum < 4;

     EMPNO ENAME      SYSDATE
---------- ---------- -------------------
      7369 SMITH      07.08.2020 22:13:22
      7499 ALLEN      07.08.2020 22:13:22
      7521 WARD       07.08.2020 22:13:22

SQL>

您的查询也能正常工作(不过,为什么要让它变得比应该的更复杂呢?):

SQL> select empno, ename, (select sysdate from dual) current_date
  2  from emp
  3  where rownum < 4;

     EMPNO ENAME      CURRENT_DATE
---------- ---------- -------------------
      7369 SMITH      07.08.2020 22:14:35
      7499 ALLEN      07.08.2020 22:14:35
      7521 WARD       07.08.2020 22:14:35

SQL>

你为什么没有得到结果?不知道。

t40tm48m

t40tm48m2#

您可以使用sysdate获取当前日期,因此可以执行以下操作

SELECT 
  CUSTOMER_ID, 
  CUSTOMER_NAME,
  to_char(cast(SYSDATE as date), 'MM/DD/YYYY') AS cust_date
FROM 
  customers

它应该给你你想要的格式输出。

相关问题