gpt4 book ai didi

sql - 如何使用 SQL Server 2008 中的函数生成字母数字随机数

转载 作者:行者123 更新时间:2023-12-03 01:31:12 25 4
gpt4 key购买 nike

我需要生成 6 个字符长度的字母数字随机数,它应该包含数字、字母(小写和大写),请检查下面的查询。

我需要在函数中实现。 (在函数中可以使用NEWID()、RAND())。

SELECT SUBSTRING(CONVERT(VARCHAR(255), NEWID()),0,7)

输出:

23647D
06ABA9
542191
.
.
.

我需要输出为:

236m7D
3n64iD
6t4M7D
.
.
.

最佳答案

在函数中我们不能使用 NEWID() 或 RAND() 首先需要创建 VIEW

对于函数

CREATE VIEW NewID as select newid() as new_id


DECLARE @new_id VARCHAR(255)


SELECT @new_id = new_id FROM newid


SELECT @Password = CAST((ABS(CHECKSUM(@new_id))%10) AS VARCHAR(1)) +
CHAR(ASCII('a')+(ABS(CHECKSUM(@new_id))%25)) +
CHAR(ASCII('A')+(ABS(CHECKSUM(@new_id))%25)) +
LEFT(@new_id,3)


SELECT @PASSWORD

输出:

9eEF44
5uUFA2
7hHFA7
.
.
.

对于选择语句

DECLARE @new_id VARCHAR(200)

SELECT @new_id = NEWID()

SELECT CAST((ABS(CHECKSUM(@new_id))%10) AS VARCHAR(1)) +
CHAR(ASCII('a')+(ABS(CHECKSUM(@new_id))%25)) +
CHAR(ASCII('A')+(ABS(CHECKSUM(@new_id))%25)) +
LEFT(@new_id,3)

输出:

0aAF3C
5pP3CE
2wW85E
.
.
.

关于sql - 如何使用 SQL Server 2008 中的函数生成字母数字随机数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26992161/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com