当前位置: 首页 > 面试题库 >

相当于Oracle的Access / jet解码

柏麒
2023-03-14
问题内容

在Access(或Jet,就此而言)中,Oracle的decode()是否具有等效项。

我面临的问题是:我应该基本上根据状态和日期(所有记录的状态均为2)对结果集进行排序(排序)。

在甲骨文中,我会像

select
  ...
from
  ...
where
  ..
order by
  decode(status, 2, 0, 1),
  date_column

问题答案:

最接近的类比是SWITCH()函数,例如

甲骨文:

SELECT supplier_name,
       decode(supplier_id,  10000, 'IBM',
                            10001, 'Microsoft',
                            10002, 'Hewlett Packard',
                                   'Gateway') result
  FROM suppliers;

访问数据库引擎

SELECT supplier_name,
       SWITCH(supplier_id = 10000, 'IBM',
              supplier_id = 10001, 'Microsoft',
              supplier_id = 10002, 'Hewlett Packard',
              TRUE, 'Gateway') AS result
  FROM suppliers;

请注意,使用该SWITCH()函数,您每次都必须提供完整的谓词,因此,您不仅可以仅使用Supplier_id。对于默认值,请使用对人类读者显而易见的谓词,例如TRUE1 = 1或实际上是TRUE:)

可能不明显的是该SWITCH()函数中的逻辑不会短路,这意味着该函数中的每个表达式都必须能够正确地求值。如果您需要逻辑短路,则需要使用嵌套IIF()函数。



 类似资料:
  • 问题内容: 我需要能够生成运行查询,该查询将返回下表中的ID的下一个值: 在Oracle中,你可以在序列上调用NEXTVAL,它为你提供下一个序列(注意:不必在表上进行插入)。 谷歌搜索之后,我发现你可以使用以下查询找到auto_increment的当前值: 问题是我希望每次查询该值时该值都增加。在Oracle中,当你调用nextval时,即使不将行插入表中,序列的值也会增加。 有什么方法可以修改

  • 问题内容: 在mysql中是否有相当于Oracle的rowid? 我想做一个MySQL等效于此查询!!! 我想做的是::my_table没有主键..我正试图删除重复的值并强加一个主键(field1和field2的复合)。 问题答案: 在MySql中,通常使用会话变量来实现功能: 但是您无法在要从子查询中删除的表上进行排序。 UPD :也就是说,您将需要创建一个临时表,将测距子查询插入到该临时表中,

  • 问题内容: 首先,我是熊猫的新手,但我已经爱上了它。我正在尝试实现与Oracle的滞后功能等效的功能。 假设您有以下DataFrame: 如果这是一个oracle数据库,而我想创建一个按“ Group”列分组并按Date排序的滞后函数,则可以轻松使用此函数: 这将产生下表: 在大熊猫中,我可以将日期设置为索引并使用shift方法: 唯一的问题是,这不会按列分组。即使将日期和组这两列设置为索引,我仍

  • 问题内容: Oracle是否让我包括要索引的列(例如中的SQL Server子句)? 谢谢。 问题答案: 否。Oracle中的索引要么在索引本身中包括该列,要么不包括。 但是,根据您要解决的问题,索引组织的表可能是Oracle中合适的类比。

  • 问题内容: 我知道(其中e是一个异常)会打印发生的异常,但是,我试图找到与Java等效的python,它可以将异常确切地跟踪到发生的那一行,并打印出整个轨迹。 谁能告诉我Python 的等效功能吗? 问题答案: 在块内执行此操作时,它将自动使用当前异常。有关更多信息,请参见http://docs.python.org/library/traceback.html。

  • 问题内容: 我正在使用Java进行编译器设计项目。进行了词法分析(使用jflex),我想知道哪种yacc类工具最适合(最有效,最易用等)进行语法分析,为什么这样做。 问题答案: 如果您特别想要类似YACC的行为(表驱动),那么我所知道的唯一一个就是CUP。 在Java世界中,似乎有更多的人倾向于ANTLR或JavaCC之类的递归下降解析器。 而且效率很少是选择解析器生成器的原因。