gpt4 book ai didi

sql - 我如何将这两者结合在一起? Varchar guid 和 guid 类型都是主键

转载 作者:行者123 更新时间:2023-12-02 07:40:52 25 4
gpt4 key购买 nike

我正在尝试比较两种不同的列类型(不是我做的,数据转换项目的一部分)。一个具有类似于以下存储的表单 guid:

0CAF3FBC-3C76-420B-B0C4-42867551E3B5

另一个将它们存储如下:

{0CAF3FBC-3C76-420B-B0C4-42867551E3B5}

在此列上连接这两个表的最佳方式是什么(不幸的是,它是两者的主键)。到目前为止,我已经尝试将一个表转换为 guid(没有成功)并且还尝试构建一个类似的语句 - 但不确定如何处理这个问题。

如有任何帮助,我们将不胜感激。

编辑:

如果是数据,这在语法上是否正确?

inner join  report_temp.workflow_lease_proposal lp
on wif.form_guid like '%' + lp.form_guid + '%'

最佳答案

在比较具有不同数据类型的值时,SQL Server 非常智能。

以下脚本在没有任何显式转换的情况下按原样工作

DECLARE @TableA TABLE (VARCHARID VARCHAR(48) PRIMARY KEY)
DECLARE @TableB TABLE (GUIDID UNIQUEIDENTIFIER PRIMARY KEY)

INSERT INTO @TableA VALUES
('{0CAF3FBC-3C76-420B-B0C4-42867551E3B5}')
, ('{0CAF3FBC-3C76-420B-B0C4-42867551E3B6}')
, ( '0CAF3FBC-3C76-420B-B0C4-42867551E3B7' )
, ( '0CAF3FBC-3C76-420B-B0C4-42867551E3B8' )

INSERT INTO @TableB VALUES
('{0CAF3FBC-3C76-420B-B0C4-42867551E3B5}')
, ( '0CAF3FBC-3C76-420B-B0C4-42867551E3B6' )
, ('{0CAF3FBC-3C76-420B-B0C4-42867551E3B7}')
, ( '0CAF3FBC-3C76-420B-B0C4-42867551E3B8' )

SELECT *
FROM @TableA a
INNER JOIN @TableB b ON b.GUIDID = a.VARCHARID

结果

VARCHARID                               GUIDID
{0CAF3FBC-3C76-420B-B0C4-42867551E3B5} 0CAF3FBC-3C76-420B-B0C4-42867551E3B5
{0CAF3FBC-3C76-420B-B0C4-42867551E3B6} 0CAF3FBC-3C76-420B-B0C4-42867551E3B6
0CAF3FBC-3C76-420B-B0C4-42867551E3B7 0CAF3FBC-3C76-420B-B0C4-42867551E3B7
0CAF3FBC-3C76-420B-B0C4-42867551E3B8 0CAF3FBC-3C76-420B-B0C4-42867551E3B8

关于sql - 我如何将这两者结合在一起? Varchar guid 和 guid 类型都是主键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11288732/

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