gpt4 book ai didi

sql - 使用 "select *"时可以格式化列吗?

转载 作者:行者123 更新时间:2023-12-02 08:44:04 24 4
gpt4 key购买 nike

我在 oracle 数据库中有这个表,由 100 多列组成:

ID number PK, CREATEDON date, C0 varchar2, C1 varchar2, ... ,c100 varchar2
0, 2012-12-19 05:18:21, 0, 1, ... ,100

我想用 CREATEDON 格式选择它们,所以我写了这个查询:

select *, to_char(CREATEDON, 'YYYY-MM-DD') from SOME_TABLE;

但随后它抛出了一个错误:ORA-00923: FROM keyword not found where expected

因为我不想在每个查询中都写select ID, to_char(CREATEDON, 'YYYY-MM-DD'), col0, col1,...,col100,所以我继续尝试另一个:

select a.*, to_char(b.CREATEDON, 'YYYY-MM-DD') from SOME_TABLE a
join SOME_TABLE b on (a.ID = B.ID);

它工作正常,但是随着 SOME_TABLE 中行的增加,这个连接是否会减慢整个查询?

那么,有没有更好的方法呢?

最佳答案

这看起来像是特定于 Oracle 的问题。尝试为 * 运算符指定表:

select SOME_TABLE.*, to_char(CREATEDON, 'YYYY-MM-DD') from SOME_TABLE;

另见 this fiddle

关于sql - 使用 "select *"时可以格式化列吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13946386/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com