什么是随机选择SQL Server查询中返回的五个固定字符串之一的最简单方法?在SQL查询中修复了数组和随机数
I.e.相当于:
function randomColumn() {
var values = ['apple', 'banana', 'orange', 'cherry', 'lemon'];
var idx = Math.floor(Math.random() * 5);
return values[idx];
}
我需要改变我现有的SQL脚本有一定的列返回这些值中的一个,而不需要改变我的客户端代码。
我需要创建临时表吗?
我正在使用SQL Server 2008 R2。
我想你可能想要调整你的随机数的上限 - 你的一组值是5个元素长。 –
@ X-Zero:我将它写为一个JavaScript示例(它使用[基于零的索引](http://programmers.stackexchange.com/questions/110804/why-are-zero-based-arrays-the-norm )),所以我自动做了这个,没有太多的想法。是的,'Math.floor'和'5'一起效果最好。但我认为它反映了基本的意图。 – Lou
对不起,有点因为我正在读'Math.round()'为'Math.floor()'(一个循环)。当然,假设乘以随机双数所得到的值的分布是均匀的,那么您的端点(0,4)将大约是列表中其他任何元素的一半。 –