小编Iga*_*and的帖子

为什么使用外连接选择 rowversion 永远不会返回 null

使用 SQL Server 2014。

给定带有rowversion列的表,要加入的其他表和这样的选择:

 CREATE TABLE dbo.FooTable(
    [Id] [int] IDENTITY(1,1) NOT NULL,
    [RowVersion] [rowversion] NULL,
 CONSTRAINT [PK_FooTable] PRIMARY KEY CLUSTERED 
(
    [Id] ASC
)) 

 CREATE TABLE dbo.BarTable(
    [Id] [int] IDENTITY(1,1) NOT NULL
 CONSTRAINT [PK_BarTable] PRIMARY KEY CLUSTERED 
(
    [Id] ASC
)) 

Insert into BarTable default values
GO


SELECT *
  FROM FooTable ft
  FULL OUTER JOIN BarTable bt on ft.Id = Bt.Id
Run Code Online (Sandbox Code Playgroud)

选择的结果是:

Id  RowVersion  Id
NULL    0x      1
Run Code Online (Sandbox Code Playgroud)

如果与 BarTable 不匹配,则RowVersion 列不是 null,而是 0x

这让我们用来在应用服务器上反序列化结果的 …

join sql-server sql-server-2014

6
推荐指数
1
解决办法
268
查看次数

标签 统计

join ×1

sql-server ×1

sql-server-2014 ×1