如何在T-SQL中生成随机的浅色

时间:2019-01-07 18:22:54

标签: tsql

我已经在T-SQL 2012中运行了存储过程,并提交了文件以生成随机的十六进制颜色,除了生成的十六进制代码采用深蓝色,深绿色等深色组合之外,其他所有方法都工作正常。我需要生成浅色方案,我该怎么做。

SELECT
RecordId,
CONVERT(VARCHAR(max), CRYPT_GEN_RANDOM(3), 2)as [BarColour]

1 个答案:

答案 0 :(得分:2)

您使用的方法将产生浅色和深色。如果您只是变暗,那真是倒霉。

仅生成浅色的起点是执行类似的操作。它随机生成RGB值并将它们连接到您的十六进制代码中。

SELECT CONCAT(RIGHT(CONVERT(VARCHAR(100),CAST((ABS(CHECKSUM(NEWID()) % 135) + 120) AS VARBINARY),2),2),RIGHT(CONVERT(VARCHAR(100),CAST((ABS(CHECKSUM(NEWID()) % 135) + 120) AS VARBINARY),2),2),RIGHT(CONVERT(VARCHAR(100),CAST((ABS(CHECKSUM(NEWID()) % 135) + 120) AS VARBINARY),2),2))

我反复运行此命令一次输出10个结果,然后又得到了一系列浅灰色和粉彩。尽管此方法完全避免了较低的范围值,但它不会为您提供任何纯色。