代码之家  ›  专栏  ›  技术社区  ›  Brondahl

此SQL中发生了什么:`SELECT CONVERT(CHAR(10),GETDATE(),103)`

  •  5
  • Brondahl  · 技术社区  · 6 年前

    我在我负责记录的一些代码中发现了这一点:

    SELECT CONVERT(CHAR(10), GETDATE(), 103)
    

    data_type ,不是字符串。 “LineFeed”如何成为有效的数据类型?

    它运行,并返回今天的日期(在SQL Server中),所以我一定错过了一些非常明显的东西。

    2 回复  |  直到 6 年前
        1
  •  6
  •   Tab Alleman    6 年前

    CHAR 是有效的数据类型,除了是 function .

    解析器非常聪明,可以知道在这个上下文中,CHAR被用作数据类型。

        2
  •  1
  •   marc_s Hady Salah    6 年前

    这个 CONVERT() 函数接受3个参数:

    1. 数据类型
    2. 风格

    你的台词 SELECT CONVERT(CHAR(10), GETDATE(), 103) 符合此签名:

    1. 数据类型为 CHAR(10)
    2. GETDATE()
    3. 风格是 103

    这个 获取日期() 表达式返回 DATETIME 以指定的样式 103 dd/mm/yyyy 根据我链接到上面的网站)。