代码之家  ›  专栏  ›  技术社区  ›  jon077

如何将SYS_GUID()转换为varchar?

  •  16
  • jon077  · 技术社区  · 17 年前

    select USER_GUID from user where email = 'user@example.com'
    

    5 回复  |  直到 17 年前
        1
  •  23
  •   Quassnoi    17 年前

    别忘了使用 HEXTORAW(varchar2) 当将此值与 RAW 柱。

    没有隐含的转换 VARCHAR2 原始数据 这意味着本条款:

    WHERE raw_column = :varchar_value
    

    将不虔诚地转化为:

    WHERE RAWTOHEX(raw_column) = :varchar_value
    

    ,从而对 raw_column 无法使用。

    用途:

    WHERE raw_column = HEXTORAW(:varchar_value)
    

        2
  •  5
  •   jon077    17 年前

    使用RAWTOHEX(用户GUID)。

        3
  •  4
  •   geekzspot    16 年前
    select RAWTOHEX(USER_GUID) from user where email = 'user@example.com'
    
        4
  •  1
  •   Mark Brady Mark Brady    17 年前

    TO_CHAR实际上在SQL和PL/SQL之间是不同的。

    在SQL中,TO_CHAR不会像您发现的那样接受原始数据。

    在PL/SQL中,To_CHAR将取一个原始值。

    所以,如果你在一个过程中,有时使用变量会更容易,但如果你只是使用SQL,请在这里使用其他答案。

        5
  •  0
  •   Toolkit    7 年前

    select CAST (USER_GUID AS VARCHAR2(100)) from user where email = 'user@example.com'

    推荐文章