在Oracle sql数据库中生成随机十六进制颜色值

时间:2016-07-08 18:43:02

标签: oracle

我知道有类似的问题已被提出,但我似乎找不到有用的东西。我在oracle数据库中创建了一个表,其中一列是ID,另一列的值是十六进制颜色值。当我创建表时,我将ID的数据类型作为数字,将VARCHAR2作为颜色。我只想知道是否有办法生成随机的十六进制颜色值并更新表格,以便它们可以在颜色列中。感谢。

3 个答案:

答案 0 :(得分:3)

SELECT TO_CHAR( TRUNC( DBMS_RANDOM.VALUE( 0, 256*256*256 ) ), 'FM0XXXXX' )
FROM DUAL;

答案 1 :(得分:2)

这应该给你一个如何做的模式

select 1, to_char(floor(dbms_random.value(0,256)), 'XX') from dual

答案 2 :(得分:0)

要将vav的解决方案扩展为带有前导零的6位十六进制值,您可以使用以下公式:

select 1,  lpad(trim(to_char(floor(dbms_random.value(0,16777216)),'XXXXXX')),6,'0')
from dual;