将列中的随机字符串添加到数据库中的每一行

时间:2013-11-01 19:56:19

标签: sql database sql-server-2008 random passwords

我正在使用SQL Server 2008,我得到了一个大约有1000行的数据库。

还有一个名为Password的列,每行都为空。

通常,我可以执行INSERT INTO Password VALUES("helloworld");之类的操作,在Password列中添加内容,但所有行都会获得相同的Password

但我希望数据库中的每一行都有一个不同的Password,一个10个字符的随机单词(字符串和整数)。

有人可以指导我走正确的道路吗?

1 个答案:

答案 0 :(得分:3)

使用guid的子字符串可能有效:

SELECT SUBSTRING(CONVERT(varchar(40), newid()), 1, 10)

如果破折号有问题,请将其替换。

SELECT SUBSTRING(REPLACE(CONVERT(varchar(40), newid()), '-', ''), 1, 10)

但请注意,这并不能保证每一行都有唯一的密码,因为我们只使用guid的一部分。