AGE 返回小数持续时间

在 NPS 兼容性方式下运行时,AGE 标量函数将返回小数持续时间,而非返回整数值。

是否使用 NPS 兼容性方式取决于 SQL_COMPAT 全局变量的设置:
  • SQL_COMPAT='NPS' 时,AGE 标量函数将返回小数持续时间:
    • 如果指定了单个自变量,而输入自变量的数据类型是 DATE,那么 AGE 标量函数将返回日期持续时间。
    • 如果指定了单个自变量,而输入自变量的数据类型是 TIMESTAMP,那么 AGE 标量函数将返回时间戳记持续时间。
    • 如果指定了两个自变量,且两个输入自变量的数据类型均为 DATE,那么 AGE 标量函数将返回日期持续时间。
    • 如果指定了两个自变量,且任一输入自变量的数据类型为 TIMESTAMP,那么 AGE 标量函数将返回时间戳记持续时间。
    有关日期和时间戳记持续时间的更多信息,请参阅日期时间操作和持续时间
  • 否则,AGE 标量函数将返回整数值,如 AGE 标量函数所述。
如果 SQL_COMPAT='NPS'... ... 等同于 ...
AGE(date-expression) (CURRENT_DATE - date-expression)
AGE(timestamp-expression) (CURRENT_TIMESTAMP - timestamp-expression)
AGE(date-expression1,date-expression2) (date-expression1 - date-expression2)
AGE(timestamp-expression1,timestamp-expression2) (timestamp-expression1 - timestamp-expression2)