none
关于linkedserver的一个问题 RRS feed

  • 问题

  • SELECT * FROM  [dbo].[Extension] where ID =870692

    SELECT  *  FROM  [xxxxx].[Task].[dbo].[Extension] where ID =870692

    SELECT  *  FROM  [127.0.0.1].[Task].[dbo].[Extension] where ID =870692

    可以看到,用了linkedserver之后,

    表定义

    CREATE TABLE [dbo].[Extension](
    	[ID] [int] IDENTITY(1,1) NOT FOR REPLICATION NOT NULL,
    	[Schedule] [varchar](60) NULL,
    	[Duration] [int] NOT NULL,
    	[Span] [int] NOT NULL,
    	[Filling] [bit] NOT NULL,
    	[AddOn] [smalldatetime] NOT NULL,
    	[Hash] [nchar](32) NULL)


    怎么用linkedserver之后,查出来的smalldatetime数据类型带秒小数部分?

    2015-03-24 11:10:00.000

    2015-03-24 11:10:00

    自己做了一个简易的监控,用的except运算符做比较,导致比较的时候因为这个带秒小数部分而认为数据不一致,实际上数据是一致的

    请问是linkedserver的问题吗


    Love SQL

    2015年3月24日 5:54

答案

  • 桦仔你又瞎咧咧。

    分布式查询(通过链接服务器的就是分布式查询)中,smalldatetime会被映射为datetime类型。

    详细情况可以查询“分布式查询的数据类型映射”


    想不想时已是想,不如不想都不想。

    2015年3月24日 8:38
    版主

全部回复