在SQL Server中添加随机数介于1和5之间的新列
我在SQL Server中有一个已填充的数据库表;现在我需要添加一个新的列,随机数从1到5(它们可以重复) 要填充的行太多了,手动填充行不通 我在网上搜索,但没有找到任何有用的东西,有人知道怎么做吗 一种方法是:在SQL Server中添加随机数介于1和5之间的新列,sql,sql-server,Sql,Sql Server,我在SQL Server中有一个已填充的数据库表;现在我需要添加一个新的列,随机数从1到5(它们可以重复) 要填充的行太多了,手动填充行不通 我在网上搜索,但没有找到任何有用的东西,有人知道怎么做吗 一种方法是: select t.*, 1 + floor( rand(newid()) * 5 ) from t; 您可以将其合并到更新中: update t set col = 1 + floor( rand(newid()) * 5 ); 一种方法是: select t
select t.*,
1 + floor( rand(newid()) * 5 )
from t;
您可以将其合并到更新中
:
update t
set col = 1 + floor( rand(newid()) * 5 );
一种方法是:
select t.*,
1 + floor( rand(newid()) * 5 )
from t;
您可以将其合并到更新中
:
update t
set col = 1 + floor( rand(newid()) * 5 );
您可以使用
altertable
添加一个新列,同时为其指定一个DEFAULT
值。如果还想填充这些值,请使用带有值的:
CREATE TABLE dbo.YourTable (ID int);
GO
INSERT INTO dbo.YourTable (ID)
VALUES(1),(2),(3),(4),(5),(6),(7),(8),(9),(10);
GO
--Add new column with DEFAULT value (1-5)
ALTER TABLE dbo.YourTable ADD NewColumn int DEFAULT ABS(CHECKSUM(NEWID()))%5+1 WITH VALUES;
GO
--Check values
SELECT *
FROM dbo.YourTable;
--Add a new row
INSERT INTO dbo.YourTable (ID)
VALUES(11);
--Check value
SELECT *
FROM dbo.YourTable
WHERE ID = 11;
GO
DROP TABLE dbo.YourTable;
您可以使用altertable
添加一个新列,同时为其指定一个DEFAULT
值。如果还想填充这些值,请使用带有值的:
CREATE TABLE dbo.YourTable (ID int);
GO
INSERT INTO dbo.YourTable (ID)
VALUES(1),(2),(3),(4),(5),(6),(7),(8),(9),(10);
GO
--Add new column with DEFAULT value (1-5)
ALTER TABLE dbo.YourTable ADD NewColumn int DEFAULT ABS(CHECKSUM(NEWID()))%5+1 WITH VALUES;
GO
--Check values
SELECT *
FROM dbo.YourTable;
--Add a new row
INSERT INTO dbo.YourTable (ID)
VALUES(11);
--Check value
SELECT *
FROM dbo.YourTable
WHERE ID = 11;
GO
DROP TABLE dbo.YourTable;
用您正在使用的数据库标记您的问题。@GordonLinoff我正在使用Microsoft Sql 2018.1。请在表中添加一个新列。2.更新表格,设置列的值。3.更改表格以设置新的约束。您的问题出在哪一步?您是指默认值介于1-5之间的列,还是指每次引用时随机数介于1-5之间的新列(并且每次都可能不同)?@Serg我需要一个Sql查询来填充表格,我添加了该列,基本上只需要查询就可以完成我的工作,因为它是一个大数据库。请用您正在使用的数据库标记您的问题。@GordonLinoff我正在使用Microsoft Sql 2018.1。向表中添加一个新列。2.更新表格,设置列的值。3.更改表格以设置新的约束。您的问题出在哪一步?您是指默认值介于1-5之间的列,还是指每次引用时随机数介于1-5之间的新列(并且每次都可能不同)?@Serg我需要一个Sql查询来填充表格,我添加了该列,只是需要查询来完成我的工作,因为它是一个大数据库。