gpt4 book ai didi

oracle - 如何在 PL/SQL 中创建 RGB 值?

转载 作者:行者123 更新时间:2023-12-04 18:29:31 25 4
gpt4 key购买 nike

我的数据库中有一个大表,我需要在其中更新内部调用的 "ColorByte" field 。该字段是根据 RGB 值计算的,主要由 Excel-VBA Skripts 使用,但也用于 WinForms C# 应用程序。它代表一个整数值,代表一种特定的颜色。

这在 VBA 中的工作方式如下(没有工作代码只是为了澄清):

r = 5
g = 50
b = 200

colorByte = RGB(r,g,b)

阅读有关 RGB 函数的更多信息 here .

现在我得到了一个复杂的计算方案,用于从我们公司的特定数据中获得更好的 RGB 值,该方案由我们研究团队的一名成员在 VBA 中开发。我必须在数据库上定义此计算以轻松更新我的大表并更正 "colorByte" field 。确切的计算并不重要,因为这些东西有效,但是:

是否有等效的 VBA RGB(r, g, b)我可以在 PL/SQL 中使用哪些函数来完成我的功能?

或者有人知道这个函数在内部是做什么的,以便我可以在PL/SQL中重新定义它?

最佳答案

不,没有内置 Oracle RGB( ) 函数,但 formula很简单

colorByte = red + (green * 256) + (blue * 256 * 256)

所以这个函数可能看起来像这样
create or replace function rgb(
p_red in number,
p_green in number,
p_blue in number
) return number
is
begin
return p_red + (p_green * 256) + (p_blue * 256 * 256);
end;

测试用例:
select rgb(5, 50, 200) as color_value
from dual

COLOR_VALUE
-----------
13120005

1 row selected.

关于oracle - 如何在 PL/SQL 中创建 RGB 值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40976339/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com