gpt4 book ai didi

sql - 将十六进制数转换为带有破折号的 GUID

转载 作者:行者123 更新时间:2023-12-04 22:00:05 27 4
gpt4 key购买 nike

我有数百个从 sql 数据库中提取的十六进制数字(32 个字符长)。我将它们存储在一个 Excel 表中,并且需要将它们转换为带有破折号的 GUID。我找到了一个在线转换器,但它一次只做一个,这将非常耗时(http://www.windowstricks.in/online-windows-guid-converter)。有没有办法在 Excel 中使用 VBA 或公式或在 SQL 中转换这些?这并不像将破折号添加到正确的位置那么简单。我已经尝试过了,这不是我需要发生的事情。十六进制和转换后的破折号分隔 GUID 的示例:

十六进制

  • 6F414B9DFB178945A3641E40BC2A4AAB
  • C58C415E215CEC4D9B5100532573D3FA
  • 2B0BBF00A1403E41A333C805961CEA9F

  • 从上面的十六进制转换的 GUID
  • 48a6c53b-941c-46e2-9964-680754f71666
  • ea0ba3f4-4905-4d9c-9d83-76c57bdb060a
  • 18cea3f7-e1d1-4609-a4bc-9bf6fec6a2d4

  • 您可以提供的任何帮助将不胜感激。
    谢谢

    最佳答案

    此函数将十六进制字符串转换为格式化的 GUID 字符串:

    Public Function ConvHexToGuid(hexa As String) As String
    Dim guid As String * 36
    Mid$(guid, 1) = Mid$(hexa, 7, 2)
    Mid$(guid, 3) = Mid$(hexa, 5, 2)
    Mid$(guid, 5) = Mid$(hexa, 3, 2)
    Mid$(guid, 7) = Mid$(hexa, 1, 2)
    Mid$(guid, 9) = "-"
    Mid$(guid, 10) = Mid$(hexa, 11, 2)
    Mid$(guid, 12) = Mid$(hexa, 9, 2)
    Mid$(guid, 14) = "-"
    Mid$(guid, 15) = Mid$(hexa, 15, 2)
    Mid$(guid, 17) = Mid$(hexa, 13, 2)
    Mid$(guid, 19) = "-"
    Mid$(guid, 20) = Mid$(hexa, 17, 4)
    Mid$(guid, 24) = "-"
    Mid$(guid, 25) = Mid$(hexa, 21, 16)
    ConvHexToGuid = guid
    End Function

    关于sql - 将十六进制数转换为带有破折号的 GUID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36720463/

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