如何改进查询格式

问题描述 投票:0回答:1

我有这样的疑问:

UPDATE MY_TABLESET ENDTIME = COALESCE(:ENDTIME, ENDTIME),
    ELAPSEDTIME = EXTRACT(DAY FROM :ENDTIME - STARTTIME) || 'd '
                    || TO_CHAR(EXTRACT(HOUR FROM :ENDTIME - STARTTIME), 'FM00') || ':'
                    || TO_CHAR(EXTRACT(MINUTE FROM :ENDTIME - STARTTIME), 'FM00') || ':'
                    || TO_CHAR(EXTRACT(SECOND FROM :ENDTIME - STARTTIME), 'FM00.000000')
WHERE MISSIONID = :MISSIONID

但我正在努力更好地构建它们。

最近我们团队遇到了一个“问题”,我们必须花费大量时间重做查询,因为它们写得非常糟糕且难以理解。因此,作为个人目标,我正在努力变得更好。

对于这个例子,我想尝试做这样的事情:

UPDATE MY_TABLE
SET ENDTIME = COALESCE(:ENDTIME, ENDTIME),
    TIMEDIFFERENCE = :ENDTIME - STARTTIME,
    ELAPSEDTIME = EXTRACT(DAY FROM TIMEDIFFERENCE ) || 'd ' || TO_CHAR(
        EXTRACT(HOUR FROM TIMEDIFFERENCE ), 'FM00') || ':' || TO_CHAR(
        EXTRACT(MINUTE FROM TIMEDIFFERENCE ), 'FM00') || ':' || TO_CHAR(
        EXTRACT(SECOND FROM TIMEDIFFERENCE ), 'FM00.000000')
WHERE MISSIONID = :MISSIONID

我正在要求这个,但任何提示或想法都非常感激。

提前致谢!

oracle format
1个回答
0
投票

这是一个格式问题。

  • 一个选择是手动执行此操作,但是 - 如今,没有人这样做,因为......

  • ...我相信每个人都使用一些提供格式化功能的 GUI 工具(例如 Oracle SQL Developer、TOAD 等)(这将是第二个选项

    • 在 TOAD 中,您可以按 [CTRL + SHIFT + F]
    • 在 Oracle SQL Developer 中,即 [CTRL + F7]
  • 您可以根据需要调整格式选项,例如

    SQL Developer

    TOAD

  • 我不知道你是否可以让它们格式化代码完全如你的示例所示,但我想 - 即使你使用默认格式选项 - 它看起来也不错

  • 请注意,团队中的每个人都应该拥有相同的工具和相同的格式选项;不然结果会不一样

  • 最后,我能想到的第三个选项是(免费)在线格式化程序

    之一
最新问题
© www.soinside.com 2019 - 2025. All rights reserved.