gpt4 book ai didi

sql - '6/1/201 2' < ' 6/1/2012 0 :00:00. 000' = 真?

转载 作者:行者123 更新时间:2023-12-01 06:25:58 26 4
gpt4 key购买 nike

当我在 SQL-Server 2008 中运行此代码时,

select case when '6/1/2012' < '6/1/2012' then 1 else 0 end

我得到 0。

如果我跑,
select case when '6/1/2012 0:00:00.000' < '6/1/2012' then 1 else 0 end

我也得到0。

但是 ,如果我跑
select case when '6/1/2012' < '6/1/2012 0:00:00.000' then 1 else 0 end

我得到 1。

为什么是这样?

最佳答案

我的猜测是:

  • 您正在比较两个字符串(您的查询中没有任何内容表明它们应该作为日期进行比较)。
  • 如果两个字符串除一个中的额外字符外相等,则较长的字符串“更大”。

  • 您可能希望您的数据库自动检测日期,但这将涉及解析 你给它的字符串,以防它是一个日期,这会损害性能,也可能会造成混淆(如果某些东西被转换为日期而你并不是故意的)。

    关于sql - '6/1/201 2' < ' 6/1/2012 0 :00:00. 000' = 真?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11531380/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com