次の文字列リテラルがあります
('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()