【问题标题】:File Extension query in Oracle/SqlOracle/Sql 中的文件扩展名查询
【发布时间】:2013-02-17 19:19:46
【问题描述】:

我有一个表 tblAttachmentDetails,其中包含 ID、文件名和 LastUpdated。

ID    FileName     LastUpdated
 1    Abc.txt      12/12/2011
 2    dsa.doc      12/12/2008
 3    ddd.xls      12/12/2003
 4    Accbc.xlsx   12/12/2006
 5    cc.txt       12/12/2006
 6    cc.doc       12/12/2006
 7    cc.xls       12/12/2008
 8    cc.xlsx      12/12/2012

我想要按 LastUpdated 排序的前 10 行 .xls 和 .xlsx 文件。

甲骨文:

SELECT * 
FROM tblAttachmentDetails 
where ROWNUM <= 10 
and FileName Like '%.xls%' 
order by LastUpdated Desc

请在这个查询中纠正我,因为从这个查询中我只得到 .xls 文件而不是 xlsx。

【问题讨论】:

标签: sql oracle oracle10g oracle11g


【解决方案1】:

ROWNUM 过滤应该在按类型和排序过滤之后应用..

SELECT *
  FROM ( SELECT *
           FROM tblAttachmentDetails
           WHERE FileName Like '%.xls%'
           ORDER BY LastUpdated DESC
       )
  WHERE ROWNUM <= 10

【讨论】:

  • 但这只会返回前 10 个 .xls 文件,我需要 .xls 和 .xlsx 文件
  • 它将返回.xls.xlsx。您确定您没有处理区分大小写的问题,即WHERE LOWER(FileName) LIKE '%.xls%' 或您的第一个.xlsx 文件比前10 个.xls 文件旧。
  • @intelliWork:所以你想要总共 20 行?
猜你喜欢
  • 2012-06-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-05-29
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多