sql-server – 从列表中返回随机值
发布时间:2020-12-12 08:47:18 所属栏目:MsSql教程 来源:网络整理
导读:我正在使用SQL Server 2014,并希望利用新功能CHOOSE和RAND.基本上想从列表中返回随机颜色. 就像是: Select CHOOSE(RAND(29),'bg-blue','bg-blue-madison','bg-blue-hoki','bg-blue-steel','bg-blue-chambray','bg-green-meadow','bg-green','bg-green-seagre
我正在使用SQL Server 2014,并希望利用新功能CHOOSE和RAND.基本上想从列表中返回随机颜色.
就像是: Select CHOOSE(RAND(29),'bg-blue','bg-blue-madison','bg-blue-hoki','bg-blue-steel','bg-blue-chambray','bg-green-meadow','bg-green','bg-green-seagreen','bg-green-turquoise','bg-green-haze','bg-green-jungle','bg-red','bg-red-pink','bg-red-sunglo','bg-red-intense','bg-red-thunderbird','bg-red-flamingo','bg-yellow','bg-yellow-gold','bg-yellow-casablanca','bg-yellow-lemon','bg-purple','bg-purple-plum','bg-purple-studio','bg-purple-seance','bg-grey-cascade','bg-grey-silver','bg-grey-steel','bg-grey-gallery') AS Colour 可能吗? 解决方法您必须使用RAND ROUND来获取1到29之间的整数:DECLARE @num INT = ROUND(RAND()*28,0) + 1 SELECT CHOOSE(@num,'bg-grey-gallery') AS Test 为了更准确,您可以使用CEILING作为@GarethD在以下注释: DECLARE @num INT = CEILING(RAND()*29) 工作SQL-FIDDLE (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |