sql - 将 GUID 转换为 varchar(32)

标签 sql sql-server ssms guid varchar

如何将 36 个字符的 GUID 转换为 VARCHAR(32)?

我正在尝试将数据从一个表复制到另一个表。这两个表中有两个相似的列。

  1. Table1.colx 是一个 GUID,因此由于连字符的缘故,其总长度为 36 个字符
  2. 对应的列是table2.colx,但它是一个VARCHAR(32)

我正在寻找一种将 GUID 转换为 VARCHAR 的方法,但我必须删除连字符。到目前为止,我一直没有成功地尝试找到一种方法来做到这一点。

最佳答案

我假设这是 SQL Server,来自 SSMS 标记。

将 GUID 转换为字符串,然后将连字符替换为空字符串:

REPLACE(CAST(table1.colx AS VARCHAR(36)),'-','')

关于sql - 将 GUID 转换为 varchar(32),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16222343/

相关文章:

sql - 当列的值与上一行相比发生变化时选择行

sql-server - SQL Server 如何处理事务性 INSERT 中的 SELECT 语句?

sql - 根据特定值从sql表中检索行

sql-server - 通过在 SQL Server Management Studio 2008 中搜索所有存储过程来查找字符串

列名包含 & 的 SQL 查询

sql - 使用 oracle db 中的查询获取表名称及其行数

mysql - 如何使用来自不同表的查询结果填充一个表?

mysql - 选择具有共同属性的连续记录组?

mysql - 获取论坛上某个类别的最新帖子

sql - 如何授予自己对本地 SQL Server 实例的管理员访问权限?