IS_DATETIME (NoSQL 查询)

返回一个布尔值,该值指示日期时间字符串是否有效。

Syntax

IS_DATETIME(<expr>)  

Arguments

Description
expr 要进行求值的表达式。

返回类型

返回布尔表达式。

例子

以下示例显示了具有不同日期/时间格式的 IS_DATETIME 函数的各种用法。

SELECT VALUE {
    "case1": IS_DATETIME("2024-12-12"),
    "case2": IS_DATETIME("2024-12-12Z"),
    "case3": IS_DATETIME("2024-12-12 20:21:25"),
    "case4": IS_DATETIME("2024-12-12T20:21:25Z"),
    "case5": IS_DATETIME("2024-12-12T20:21:25.123"),
    "case6": IS_DATETIME("2024-12-12 20:21:25.123Z"),
    "case7": IS_DATETIME("2024-12-12T20Z"),
    "case8": IS_DATETIME("2024-12-12 20:21:25.")
}
[
    {
        "case1": true,
        "case2": true,
        "case3": true,
        "case4": true,
        "case5": true,
        "case6": true,
        "case7": false,
        "case8": false
    }
]

注解

  • 有效的 DateTime 字符串必须以年份(YYYY)的四位数字开头,后跟短划线 - ,例如 2023-
  • 接着,有效的 DateTime 字符串必须包含一个两位数字的月份,后跟一个连字符 -,例如 2023-03-
  • 然后,有效的 DateTime 字符串必须有一个两位数的日期,例如 2023-03-06
  • 有效的 DateTime 字符串可以以两位数字的日结尾,并且在不包含时间的情况下也是有效的
  • 它也可以在一个月中的某一天之后以 Z 结束,并且仍然有效,例如 2023-03-06Z
  • 如果 DateTime 字符串包含时间,则月份的日期可以包括空格或 T 时间指示符, 2023-03-06 15:29:00Z 或者 2023-03-06T15:29:00Z
  • 除空格或 T 外,任何其他字符均无效
  • 在时间指示符之后,必须是两位小时,后跟 : 冒号时间分隔符,再后跟两位分钟,后跟 : 冒号时间分隔符,再后跟两位秒,由此即可构成一个有效的 DateTime 字符串,例如 2023-03-06T15:29:59
  • 秒后面也可以跟一个Z(UTC),并且也是有效的,例如 2023-03-06T15:29:59Z
  • 如果有小数秒,则它们前面必须有一个 .
  • 要使其有效,该.小数秒指示符后面必须至少跟 1 位数字,最多 7 位数字,例如 2023-03-06T15:29:59.92023-03-06T15:29:59.9Z2023-03-06T15:29:59.12345672023-03-06T15:29:59.1234567Z
  • 此函数执行全面扫描。