我有以下字符串文字
('Tv','Radio','Magazine','Internet')
我想将表中某一列的值随机设置为上述任意值。
所以我想说
update table set type to (('Tv' or 'Radio' or 'Magazine' or 'Internet'))
我有以下字符串文字
('Tv','Radio','Magazine','Internet')
我想将表中某一列的值随机设置为上述任意值。
所以我想说
update table set type to (('Tv' or 'Radio' or 'Magazine' or 'Internet'))
您可以使用 0 到 3 范围内的随机数
select aBS(CHECKSUM(NewId())) % 4
这是有效的,因为 newid() 是一个非确定性函数,并且将为每一行返回不同的(随机)值。所以用它来做一个案例陈述
update table set type = case aBS(CHECKSUM(NewId())) % 4
when 0 then 'Tv'
when 1 then 'Radio'
when 2 then 'Magazine'
when 3 then 'Internet' end
CREATE TABLE #rnd (col VARCHAR(25))
INSERT INTO #rnd
SELECT slit FROM
(
SELECT 'Tv' AS slit
UNION ALL
SELECT 'Radio' AS slit
UNION ALL
SELECT 'Magazine' AS slit
UNION ALL
SELECT 'Internet' AS slit
) AS foo
GO
SELECT TOP 1 * FROM #rnd ORDER BY newid()