【问题标题】:How to convert a .net guid to oracle raw(16)如何将 .net guid 转换为 oracle raw(16)
【发布时间】:2014-10-30 06:49:33
【问题描述】:

我有问题!

我的问题是:如何将 .net guid 转换为 oracle raw(16)?

我试过了:

select cast('9e953501-51d1-4701-e053-470f0c0a8ed5' as RAW(16)) from dual;

但它不起作用......

【问题讨论】:

    标签: .net oracle guid type-conversion


    【解决方案1】:

    如果您想在 raw(16) 列中插入 32 个字符的 guid,您可以使用 HEXTORAW,如下例所示:

     insert into MyCommands values 
        (  HEXTORAW('b7d394e722874e079f02b22c56ac88b1'),    
          'DeathMan',              
          'ReturnTrue'
         );
    

    更多(但不是更好)在: https://docs.oracle.com/cd/B19306_01/server.102/b14200/functions064.htm

    【讨论】:

      【解决方案2】:

      你需要使用utl_raw.cast_to_raw:

      select utl_raw.cast_to_raw('9e953501-51d1-4701-e053-470f0c0a8ed5') val
        from dual
      
                                           VAL
      ------------------------------------------------------------------------
      39653935333530312D353164312D343730312D653035332D343730663063306138656435
      

      【讨论】:

        【解决方案3】:
        select cast(replace('9e953501-51d1-4701-e053-470f0c0a8ed5','-') as RAW(16)) from dual;
        
        select cast( translate('{9e953501-51d1-4701-e053-470f0c0a8ed5}','1234567890abcdef-{}','1234567890ABCDEF') as RAW(16)) from dual;
        

        【讨论】:

          猜你喜欢
          • 2011-11-09
          • 2021-12-17
          • 1970-01-01
          • 2021-10-23
          • 1970-01-01
          • 2015-05-21
          • 2012-05-16
          • 2013-12-26
          • 2016-01-27
          相关资源
          最近更新 更多