Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 在SQL Server中,这些返回日期时间列的时间的方法有什么不同?_Sql Server_Sql Server 2008_Datetime_Time - Fatal编程技术网

Sql server 在SQL Server中,这些返回日期时间列的时间的方法有什么不同?

Sql server 在SQL Server中,这些返回日期时间列的时间的方法有什么不同?,sql-server,sql-server-2008,datetime,time,Sql Server,Sql Server 2008,Datetime,Time,现在,我知道了3种返回时间的方法: CONVERT(varchar,Date,8) CONVERT(varchar,Date,108) 转换(时间、日期) 既然#1和#2返回相同的答案,它们之间的区别是什么 为什么#3返回看起来不同的东西——它仍然等同于#1/#2的输出吗 还有别的办法吗 谢谢 第1点。二,。他们是平等的。 第3点以其他数据类型返回 第1点和第2点相等,但第3点不同 您可以检查不同的格式。第1点。二,。他们是平等的。 第3点以其他数据类型返回 第1点和第2点相等,但第3点不同 您

现在,我知道了3种返回时间的方法:

  • CONVERT(varchar,Date,8)

  • CONVERT(varchar,Date,108)

  • 转换(时间、日期)

  • 既然#1和#2返回相同的答案,它们之间的区别是什么

    为什么#3返回看起来不同的东西——它仍然等同于#1/#2的输出吗

    还有别的办法吗


    谢谢

    第1点。二,。他们是平等的。 第3点以其他数据类型返回

    第1点和第2点相等,但第3点不同


    您可以检查不同的格式。

    第1点。二,。他们是平等的。 第3点以其他数据类型返回

    第1点和第2点相等,但第3点不同

    您可以检查不同的格式。

    请查看。格式
    8
    hh:mi:ss
    。如果将
    100
    添加到格式中,它将使用四位数的年份而不是两位数的年份。由于格式
    8
    是一种时间格式,
    8
    108
    具有相同的输出

    第三个选项将
    datetime
    转换为
    time
    时间
    不是字符串,没有格式。这取决于客户端如何显示,通常使用本地计算机的区域和语言设置。

    请查看。格式
    8
    hh:mi:ss
    。如果将
    100
    添加到格式中,它将使用四位数的年份而不是两位数的年份。由于格式
    8
    是一种时间格式,
    8
    108
    具有相同的输出


    第三个选项将
    datetime
    转换为
    time
    时间
    不是字符串,没有格式。它取决于客户端如何显示,通常使用本地计算机的区域和语言设置。

    尽量避免使用裸
    varchar
    -始终指定长度(或
    max
    )。除了
    CONVERT
    之外,几乎从来都不是您想要的。请尽量避免使用bare
    varchar
    -始终指定长度(或
    max
    )。除了
    CONVERT
    ,您几乎永远不会想要什么。