oracle 10g에서 어떻게 SYS_GUID()를 varchar로 변환합니까? 나는 다음과 같은 것을 시도하고있다 :SYS_GUID()를 varchar로 어떻게 변환합니까?
RAW 바이트 []를 반환한다. SQL 문에서 RAW를 VARCHAR2로 변환하는 함수를 사용할 수 있습니까?
oracle 10g에서 어떻게 SYS_GUID()를 varchar로 변환합니까? 나는 다음과 같은 것을 시도하고있다 :SYS_GUID()를 varchar로 어떻게 변환합니까?
RAW 바이트 []를 반환한다. SQL 문에서 RAW를 VARCHAR2로 변환하는 함수를 사용할 수 있습니까?
이 값을 RAW
열과 비교할 때 HEXTORAW(varchar2)
을 사용해야합니다.
VARCHAR2
에서 RAW
까지의 암시 적 검색이 없습니다. 따라서 사용할 raw_column
에 인덱스를 만드는
WHERE RAWTOHEX(raw_column) = :varchar_value
:
WHERE raw_column = :varchar_value
impicitly으로 변환한다 : 즉,이 항을 의미한다.
사용 : 대신
WHERE raw_column = HEXTORAW(:varchar_value)
.
RAWTOHEX (USER_GUID)을 사용하십시오.
내가 틀렸다면 mod-1을 사용하지 마십시오. 나는 이것을 기억할 것이므로 면책 조항을 확인하십시오.
TO_CHAR은 SQL과 PL/SQL간에 실제로 다릅니다.
SQL TO_CHAR에서는 사용자가 알 수있는 것처럼 원시를 취하지 않습니다.
PL/SQL에서 To_CHAR는 원시 값을 취합니다.
어쨌든 프로 시저를 사용하는 경우 변수를 사용하는 것이 더 쉽지만 SQL을 사용하는 경우 여기에서 다른 대답을 참조하십시오. SYS.STANDARD.TO_CHAR을 선택 듀얼 FROM (() SYS_GUID) :
select RAWTOHEX(USER_GUID) from user where email = '[email protected]'
PL/SQL의 TO_CHAR()는 너무 SQL에서 사용할 수있는 사실 SYS.STANDARD.TO_CHAR()입니다. 물론 이것은 SQL/PLSQL 컨텍스트 전환과 적절한 성능 영향을 의미합니다. – Quassnoi
OMG, 너무 멋지다. 나는 그것을 결코 상황화하지 않았다. mod + 1.1 –