You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Azure SQL跨数据库查询无法按DATETIME类型过滤的问题

在Azure SQL Database中使用外部表查询另一Azure SQL数据库的数据时,若按DATETIME列过滤外部表:

  • 毫秒位最后一位为3或7时,查询无返回结果
  • 毫秒位最后一位为0时,查询运行符合预期

示例

/* 毫秒最后一位为0 - 运行符合预期 */
DECLARE @myDate DATETIME = '2021-10-27 12:00:00.000'; 
SELECT * from dbo.ext_datetimetest where myDate = @myDate;
GO

/* 毫秒最后一位为3或7 - 无返回结果 */
DECLARE @myDate DATETIME = '2021-10-27 12:00:00.003'; 
SELECT * from dbo.ext_datetimetest where myDate = @myDate;
GO

注意事项

  • 仅参数化查询受影响,WHERE子句中硬编码datetime值的所有查询均可正常运行
  • 仅跨数据库查询受影响,直接在源数据库运行该类查询符合预期
  • 相关代码已稳定运行多年,该异常上周才首次出现
  • 该问题仅出现在测试与生产环境,开发环境下所有datetime值的查询均正常

复现步骤

/* 在数据库#1中执行 */
CREATE TABLE dbo.datetimetest (myDate DATETIME NOT NULL);
GO
INSERT dbo.datetimetest (myDate)
VALUES 
     ('2021-10-27 12:00:00.000')
    ,('2021-10-27 12:00:00.003')
    ,('2021-10-27 12:00:00.007')
    ,('2021-10-27 12:00:00.010')
;
GO

/* 在数据库#2中执行 */
CREATE EXTERNAL TABLE dbo.ext_datetimetest ( myDate DATETIME NOT NULL)
WITH (DATA_SOURCE = [DATABASE #1], SCHEMA_NAME = N'dbo', OBJECT_NAME = N'datetimetest');
GO

/* 查询所有行确认数据存在 */
SELECT * FROM dbo.ext_datetimetest;

/* 以下查询均可正常运行,因为过滤条件是硬编码的 */
SELECT * from dbo.ext_datetimetest where myDate = '2021-10-27 12:00:00.000';
SELECT * from dbo.ext_datetimetest where myDate = '2021-10-27 12:00:00.003';
SELECT * from dbo.ext_datetimetest where myDate = '2021-10-27 12:00:00.007';
SELECT * from dbo.ext_datetimetest where myDate = '2021-10-27 12:00:00.010';
GO

/* 变量查询仅在最后一位为0时正常运行 */
DECLARE @myDate DATETIME;
SET @myDate = '2021-10-27 12:00:00.000'; SELECT * from dbo.ext_datetimetest where myDate = @myDate; /* 正常运行 */
SET @myDate = '2021-10-27 12:00:00.003'; SELECT * from dbo.ext_datetimetest where myDate = @myDate; /* 无返回结果 */
SET @myDate = '2021-10-27 12:00:00.007'; SELECT * from dbo.ext_datetimetest where myDate = @myDate; /* 无返回结果 */
SET @myDate = '2021-10-27 12:00:00.010'; SELECT * from dbo.ext_datetimetest where myDate = @myDate; /* 正常运行 */
GO

内容的提问来源于stack exchange,提问作者RobertT

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 00:18:01