sql<&燃气轮机;不使用datetime
我有一个简单的问题sql<&燃气轮机;不使用datetime,sql,sql-server,tsql,datetime,Sql,Sql Server,Tsql,Datetime,我有一个简单的问题 SELECT * FROM SlabRateDetail WHERE Fromdate <> '01/04/2010 12:00:00 AM' 选择* 从slabratedeail 从日期'01/04/2010 12:00:00 AM'起的位置 但当我运行此查询时,我会在结果中看到01/04/2010 12:00:00 AM 知道为什么吗?我甚至试过使用=在指定日期文字(YYYY/MM/DD)时,使用明确的类似ISO8601的日期 e、 g 从slabra
SELECT *
FROM SlabRateDetail
WHERE Fromdate <> '01/04/2010 12:00:00 AM'
选择*
从slabratedeail
从日期'01/04/2010 12:00:00 AM'起的位置
但当我运行此查询时,我会在结果中看到01/04/2010 12:00:00 AM
知道为什么吗?我甚至试过使用
=代码>在指定日期文字(YYYY/MM/DD
)时,使用明确的类似ISO8601的日期
e、 g
从slabratedeail中选择*
从日期“2010-04-01 12:00:00 AM”开始的位置
我相信您看到的日期是2010/01/04
默认情况下,SQL Server对文本使用美国日期约定MM/DD/YYYY
(取决于您的服务器设置)尝试以下操作
SELECT * FROM SlabRateDetail WHERE CONVERT(VARCHAR(10), Fromdate, 106) <> CONVERT(VARCHAR(10), '01/04/2010 12:00:00 AM', 106)
从slabratedeail中选择*转换(VARCHAR(10),Fromdate,106)转换(VARCHAR(10),'01/04/2010 12:00:00 AM',106)
您保存的时间是否包含毫秒?是否确实要从查询中排除一秒钟的时间?fromdate
列的数据类型是什么?@gabykag.Petrioli其日期时间
和=代码>是相同的东西。唯一的区别是
是ANSI标准。这是否明确取决于OP使用的是日期时间
还是日期
/日期时间2
。下面返回两个不同的日期<代码>设置语言意大利语;选择CAST('2010-04-01 12:00:00 AM'作为日期时间);选择CAST('2010-04-01 12:00:00 AM'作为DATETIME2)
然后我会说那是一个bug!
SELECT * FROM SlabRateDetail WHERE CONVERT(VARCHAR(10), Fromdate, 106) <> CONVERT(VARCHAR(10), '01/04/2010 12:00:00 AM', 106)