一个我无法控制模式的表,包含一个定义为varchar(50)的列,该列以格式'a89b1acd95016ae6b9c8aabb07da2010'(没有连字符)存储唯一标识符。
我想将这些转换为SQL中的唯一标识符,以便传递给.Net GUID。然而,以下查询语句对我无效:
我想将这些转换为SQL中的唯一标识符,以便传递给.Net GUID。然而,以下查询语句对我无效:
select cast('a89b1acd95016ae6b9c8aabb07da2010' as uniqueidentifier)
select convert(uniqueidentifier, 'a89b1acd95016ae6b9c8aabb07da2010')
并导致:
Msg 8169,级别 16,状态 2,行 1 在将字符字符串转换为 uniqueidentifier 时转换失败。
使用连字符连接的 uniqueidentifier 的相同查询正常工作,但数据不以该格式存储。
在 SQL 中是否有另一种(高效)将这些字符串转换为 uniqueidentifier 的方法?-- 我不想在 .Net 代码中进行转换。