gpt4 book ai didi

sql - 将 Raw(16) 转换为 GUID

转载 作者:行者123 更新时间:2023-12-04 15:11:39 34 4
gpt4 key购买 nike

有没有办法创建 SQL将转换 Oracle RAW(16) 列表的脚本至 GUID ?

我需要找到一种简单快速的方法来转换大约 1400 万个项目。我已将列表导出到多个分隔文件中,并且能够将此数据导入到架构中。

最佳答案

一个 RAW(16)基本上是一个 GUID:它是一个 16 字节的十六进制值。因此,一种选择是不理会它。 Oracle 将在字符和十六进制之间隐式转换,因此如果您要查找原始值为 FE2BF132638011E3A647F0DEF1FEB9E8 的行,您可以在查询中使用字符串:

SELECT *
FROM myTable
WHERE myRaw16Column = 'FE2BF132638011E3A647F0DEF1FEB9E8';

如果要更改 RAW(16)CHAR(32)您可以使用 RAWTOHEX 进行转换正如@tbone 所建议的那样。
INSERT INTO NewTable (myGUIDColumn, ...)
SELECT RAWTOHEX(myRawColumn), ...
FROM OldTable

如果你想让它成为 CHAR(36)破折号格式的 GUID,事情很快变得复杂:
INSERT INTO NewTable (myGUIDColumn, ...)
SELECT REGEXP_REPLACE(myRaw16Column, '(.{8})(.{4})(.{4})(.{4})(.*)', '\1-\2-\3-\4-\5'), ...
FROM OldTable

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

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