Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Oracle sql数据库中生成随机十六进制颜色值_Oracle - Fatal编程技术网

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

在Oracle sql数据库中生成随机十六进制颜色值,oracle,Oracle,我知道有人问过类似的问题,但我似乎找不到有效的方法。我正在oracle数据库中创建一个表,其中一列是ID,另一列的值是十六进制颜色值。当我创建表时,我将ID的数据类型作为数字,将VARCHAR2作为颜色。我只是想知道是否有一种方法可以生成随机的十六进制颜色值并更新表,以便它们可以位于颜色列中。谢谢。这应该给你一个如何做的模式 select 1, to_char(floor(dbms_random.value(0,256)), 'XX') from dual 要将vav的解决方案扩展到带前导零的

我知道有人问过类似的问题,但我似乎找不到有效的方法。我正在oracle数据库中创建一个表,其中一列是ID,另一列的值是十六进制颜色值。当我创建表时,我将ID的数据类型作为数字,将VARCHAR2作为颜色。我只是想知道是否有一种方法可以生成随机的十六进制颜色值并更新表,以便它们可以位于颜色列中。谢谢。

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

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

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

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

请不要使用不适用于您的标签question@Anika如果此答案或其他答案解决了您的问题,则您可以在答案投票按钮下方用绿色勾号将其标记为已接受,表示您的问题已解决。如果一个或多个答案有帮助,那么你可以向上投票。这只适用于一个元素。我想在表的列中的每个元素中生成一个随机十六进制值。我已将更新颜色设置为CT=选择lpadtrimto_charfloordbms_random.value016777216,'XXXXXX',6,'0',从dual;但是对于CT列中的每个元素,我希望生成一个新的随机十六进制值。@Anika,如果我理解你的问题,你的表中有几行,你希望表中每行有一个不同的十六进制颜色值吗?您可以使用更新颜色集CT=lpadtrimto_charfloordbms_random.value016777216,'XXXXXX',6,'0'-只要您的颜色表中的行数正确,并且希望更新所有行数。如果要在颜色表中创建10个新行,请使用类似“插入颜色”的命令CT选择lpadtrimto_charfloordbms_random.value016777216,'XXXXXX',6,'0'从dual CONNECT BY level如果要为给定的ID组重新生成颜色,请使用以下命令:更新颜色集CT=lpadtrimto_charfloordbms_random.value016777216,'XXXXXX',6,'0',其中'an id'中的'u id'列,'another id'
SELECT TO_CHAR( TRUNC( DBMS_RANDOM.VALUE( 0, 256*256*256 ) ), 'FM0XXXXX' )
FROM DUAL;