久久久久久久av_日韩在线中文_看一级毛片视频_日本精品二区_成人深夜福利视频_武道仙尊动漫在线观看

如何生成隨機 Base36 ID

How to generate random Base36 IDs(如何生成隨機 Base36 ID)
本文介紹了如何生成隨機 Base36 ID的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學習吧!

問題描述

有沒有辦法生成隨機base36 標識符SQL Server 中定義的字符數(shù)?

Is there a way of generating random base36 identifiers with a defined character count in SQL Server?

我搜索并發(fā)現(xiàn)了許多將 base 36 轉(zhuǎn)換為 int 以及將其轉(zhuǎn)換為 int 的示例,但不是用于隨機生成唯一 ID 的示例.

I have searched and found many examples of converting base 36 to int and vice versa, but not for randomly generating unique IDs.

推薦答案

這個解決方案有點冗長但有效并且可以輕松適應各種需求.以下是一些示例輸出:

This solution a bit verbose but works and can easily be adapted to a variety of requirements. Here's some sample output:

aapx0k  k4fdbb  vzbl5x
8vr1bs  gbix1q  g5kctv
he6e50  m9j0m0  2vz53l
yw72hs  hgbo5h  3oen9v
6t4q75  337670  5sf3h4
yqr35s  xoh4hh  tc0wtf
w7trkj  lnnpdk  zk2ln1
1gt7qr  l6m72n  ja5kvm
kg6f9y  6t3b7a  ujfr0i
2jatgo  0yv8rv  wvbjfa

請注意,您需要創(chuàng)建一個視圖來包裝 UDF 中不允許使用的 RAND.所以這個解決方案需要兩個 db 對象,一個視圖和一個 udf.

Note that you need to create a view to wrap the use of RAND which is not allowed inside a UDF. So this solution needs two db objects, a view and a udf.

CREATE VIEW ViewRandInt AS (SELECT RAND() * 36 as RandInt)
GO

CREATE FUNCTION GetRandomBase36Id
(
    @charCount AS INT
) 
RETURNS VARCHAR(50) AS BEGIN

    DECLARE @characters CHAR(36),
            @result VARCHAR(MAX),
            @counter INT,
            @randNum INT

    SELECT @characters = '0123456789abcdefghijklmnopqrstuvwxyz',
           @result = '',
           @counter = 0;


    WHILE @counter < @charCount
    BEGIN
        SELECT @randNum = RandInt FROM ViewRandInt
        SET @result = @result + SUBSTRING(@characters, @randNum+1, 1)
        SET @counter = @counter + 1
    END

    RETURN @result;

END

-- Test:
SELECT dbo.GetRandomBase36Id(6), dbo.GetRandomBase36Id(6), dbo.GetRandomBase36Id(6)
, dbo.GetRandomBase36Id(6), dbo.GetRandomBase36Id(6), dbo.GetRandomBase36Id(6)
, dbo.GetRandomBase36Id(6), dbo.GetRandomBase36Id(6), dbo.GetRandomBase36Id(6)
, dbo.GetRandomBase36Id(6), dbo.GetRandomBase36Id(6), dbo.GetRandomBase36Id(6)
, dbo.GetRandomBase36Id(6), dbo.GetRandomBase36Id(6), dbo.GetRandomBase36Id(6)
, dbo.GetRandomBase36Id(6), dbo.GetRandomBase36Id(6), dbo.GetRandomBase36Id(6)
, dbo.GetRandomBase36Id(6), dbo.GetRandomBase36Id(6), dbo.GetRandomBase36Id(6)
, dbo.GetRandomBase36Id(6), dbo.GetRandomBase36Id(6), dbo.GetRandomBase36Id(6)
, dbo.GetRandomBase36Id(6), dbo.GetRandomBase36Id(6), dbo.GetRandomBase36Id(6)
, dbo.GetRandomBase36Id(6), dbo.GetRandomBase36Id(6), dbo.GetRandomBase36Id(6)

這篇關(guān)于如何生成隨機 Base36 ID的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,也希望大家多多支持html5模板網(wǎng)!

【網(wǎng)站聲明】本站部分內(nèi)容來源于互聯(lián)網(wǎng),旨在幫助大家更快的解決問題,如果有圖片或者內(nèi)容侵犯了您的權(quán)益,請聯(lián)系我們刪除處理,感謝您的支持!

相關(guān)文檔推薦

Converting Every Child Tags in to a Single Column with multiple Delimiters -SQL Server (3)(將每個子標記轉(zhuǎn)換為具有多個分隔符的單列-SQL Server (3))
How can I create a view from more than one table?(如何從多個表創(chuàng)建視圖?)
Create calculated value based on calculated value inside previous row(根據(jù)前一行內(nèi)的計算值創(chuàng)建計算值)
How do I stack the first two columns of a table into a single column, but also pair third column with the first column only?(如何將表格的前兩列堆疊成一列,但也僅將第三列與第一列配對?) - IT屋-程序員軟件開發(fā)技
Recursive t-sql query(遞歸 t-sql 查詢)
Convert Month Name to Date / Month Number (Combinations of Questions amp; Answers)(將月份名稱轉(zhuǎn)換為日期/月份編號(問題和答案的組合))
主站蜘蛛池模板: 中文二区| 免费在线观看成人 | 国产精品久久久久久妇女6080 | 久久亚洲一区二区三 | 一区二区三区日韩 | 99久久久无码国产精品 | 久久久精彩视频 | 精品一区二区三区av | 在线观看视频h | 亚洲免费av一区 | 精品产国自在拍 | 九九伊人sl水蜜桃色推荐 | 日本精品一区 | 国产精品毛片一区二区在线看 | 久久精品无码一区二区三区 | a级黄色片在线观看 | 日韩在线视频观看 | 99久久婷婷国产综合精品电影 | 久久精品91| 日韩一区中文字幕 | 男女视频网站 | 欧美精品影院 | 免费xxxx大片国产在线 | 欧美日韩亚洲国产 | 色噜噜狠狠色综合中国 | 香蕉久久久久久 | 国产精品一区二区久久精品爱微奶 | av天空| 羞羞的视频在线看 | 永久免费在线观看 | 精品一区二区三区四区 | 瑟瑟视频在线看 | 99久久久无码国产精品 | 成人免费大片黄在线播放 | 婷婷久久精品一区二区 | 国产一区二区久久 | 精品在线一区 | 日韩影音 | 精品国产91乱码一区二区三区 | 看片91| 日本成人中文字幕在线观看 |