当您有列名“日期”时如何订购表 desc?

Posted

技术标签:

【中文标题】当您有列名“日期”时如何订购表 desc?【英文标题】:How to order a table desc when you have a column name "date"? 【发布时间】:2020-07-14 11:50:27 【问题描述】:

我想不通。

我有下表:SQL_LOG ID, DATE, MACHINE, TXT;

我想做一个SELECT语句来查看所有按日期排序的日志,所以我写了:

SELECT *
FROM SQL_LOG
ORDER BY DATE desc;

我收到以下错误:

ORA-00936: missing expression
00936. 00000 -  "missing expression"
*Cause:    
*Action:
Error at Line: 3 Column: 10

【问题讨论】:

你能发布完整的查询吗? 【参考方案1】:

date 是 SQL 关键字(一种数据类型)和 Oracle 中的保留字。我的建议是更改列的名称。但是,您也可以转义名称:

order by "DATE"

请注意,在转义列名时,字母的大小写很重要,因此"DATE""date" 不同。

【讨论】:

【参考方案2】:

试试这个select * from SQL_LOG order by "DATE" desc;

【讨论】:

以上是关于当您有列名“日期”时如何订购表 desc?的主要内容,如果未能解决你的问题,请参考以下文章

PostgreSQL 列名作为两个表中的关键字

如何在 GROUP BY 之前订购此数据库 [重复]

mssql 如何在已有的表中 添加多个列名?

如何在 Postgre 中返回主列名?

怎样在mysql中获取列名

sql语句怎么查询指定表的列名