從guid列獲取數值的最佳方法是什麼?將guid轉換爲數值
我想這條線,但我得到:
ORA-00904: "HASHBYTES": invalid identifier
00904. 00000 - "%s: invalid identifier"
查詢低於:
SELECT HASHBYTES('MD5',CAST(prod AS varchar2(30)))
FROM PRODS;
請指點。
從guid列獲取數值的最佳方法是什麼?將guid轉換爲數值
我想這條線,但我得到:
ORA-00904: "HASHBYTES": invalid identifier
00904. 00000 - "%s: invalid identifier"
查詢低於:
SELECT HASHBYTES('MD5',CAST(prod AS varchar2(30)))
FROM PRODS;
請指點。
問過甲骨文不具備HASHBYTES
功能。您可以使用TO_NUMBER(hex-string, 'xx')
將十六進制轉換爲十進制,但在格式字符串中必須包含足夠多的x
字符才能覆蓋輸入值。在GUID的情況下,即32 x
個字符:
SELECT TO_NUMBER(prod, RPAD('x', 32, 'x'))
FROM PRODS;
非常感謝。這工作完美。我希望你有一個美好的一天 – Chris
這將MD5哈希(十六進制)轉換爲十進制數
SELECT CONV('MD5', 16, 10)
FROM PRODS;
轉換更新表? – user2483797
是否要將GUID轉換爲字符串或散列爲字符串?我的回答是你的問題標題。 – Legionar
我在生活中的目的是爲了獲得02122304813AEF67342CB1如果可能的話,就像數字91一樣。 – user2483797
的GUID真的不借給自己扯到NUMERICS。 但是,如果需要,您可以做到。
這個問題已經在this後
什麼數值?您是否試圖將這36個字符轉換爲18十六進制值,然後轉換爲小數?我很好奇,一旦它是十進制數字,你將如何處理這個值? – AgRizzo
你的散文說數值,但你的代碼說varchar2。這是不一致的。 –