我正在尝试构建可用作列的默认值的SQL函数。该功能用于在用户未分配图像的情况下随机选择头像图像路径。
我尝试过一个完全错误的示例,仅处理图像而不是解决方案
我需要做的就是这样
select top 1 from "avatar1,png, avatar2,png, avatar3.png, avatar4.png, avatar5.png" order by rand();
并且我将其转换为这样的函数
CREATE FUNCTION dbo.ReturnAvatar()
RETURNS nvarchar(100)
AS
BEGIN
DECLARE @ret nvarchar(100);
SET @ret = (select top 1 from "avatar1,png, avatar2,png, avatar3.png, avatar4.png, avatar5.png" as tbl order by rand());
RETURN @ret;
END;
这只是为了说明我无法申请的想法。我不知道SQL Server是否具有这样的功能。
我建议:
select top (1) val
from (values
('avatar1.png'),
('avatar2.png'),
('avatar3.png'),
('avatar4.png'),
('avatar5.png')
) t(val)
order by newid();