婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > SqlServer生成連續數字根據指定的數字操作

SqlServer生成連續數字根據指定的數字操作

熱門標簽:萬利達綜合醫院地圖標注點 武漢AI電銷機器人 電銷機器人 深圳 實體店地圖標注怎么標 外呼系統會封嗎 地圖標注如何弄全套標 股票配資電銷機器人 在電子版地圖標注要收費嗎 南京電銷外呼系統哪家好

需求是使用sqlserver根據指定的數字和表生成一串連續的數字,類似于oracle中ROWNUM的功能,具體實現如下:

一、Oracle使用ROWNUM實現方式

SELECT 
 ROWNUM number_list
FROM 表名
WHERE ROWNUM = 10;

二、SqlServer實現上述功能的三種方式

1.使用MASTER…spt_values方式

SELECT
 number 
FROM
 MASTER..spt_values 
WHERE
 TYPE = 'P' 
 AND number > 0 
 AND number = 10;

spt_values是master數據庫中的一張系統表,number的數值范圍是0~2047

2.使用String_Split函數實現

select row_number() over (order by (select 1)) from String_Split(space(6),' ')

String_Split是SQLServer 2016的新函數,這個方法只對2016及后續版本有效。

(我的數據庫版本是2008,此方式未驗證)

3.使用top+ROW_NUMBER () OVER方式實現

SELECT TOP
 10 ROW_NUMBER () OVER (
ORDER BY
 (SELECT 1)) number_list 
FROM
(SELECT TOP 10 * FROM 表名) t;

第一種方式對數據庫版本無要求,但是取值范圍有限制0~2047;

第二種方式對數據庫版本有要求,要在2016及之上;

第三種方式對數據庫版本無要求,只要表里的數據量大于要生成的數字即可;

補充知識:數據庫生成測試數據(SQL實現)

需求

項目中偶爾會有造數據進行測試的情況,根據常見的數據特征,我這里假設數據某表Table_X含4個字段,每個字段的要求如下,需要造出5000條數據。

以上需求看上去非常簡單,但比較具有代表性,復雜需求也是由小需求排列組合而成。

功能準備

隨機數

造數的核心功能是生成隨機數,SQL Server下有RAND()系統函數可以生成0到1之間的小數,利用它可以生成固定區間 [Min,Max] 的小數:Min + (Max - Min) * RAND(),另外CHECKSUM(NEWID())也可以生成一串比較大的整數(9位或10位數居多),再配合ABS取絕對值和取模運算,就可以很好的控制所生成隨機數的范圍了。

區間隨機數函數

為了SQL寫起來方便,可事先創建一個自定義函數,用來生成區間隨機數:

CREATE VIEW vwRand
AS
SELECT RAND() AS RandValue
GO

CREATE FUNCTION dbo.Random_Range
(
  @Min DECIMAL(22,5)
  ,@Max DECIMAL(22,5)
)RETURNS DECIMAL(22,5)
-- return value between @Min and @Max
BEGIN
  DECLARE @Result DECIMAL(22,5);
  SELECT @Result = @Min + (@Max - @Min) * RandValue FROM vwRand;
  RETURN @Result
END
GO

這里先創建了一個視圖,然后在函數體內引用,是因為SQL Server不支持直接在函數體中引用RAND函數,會報錯Invalid use of a side-effecting operator ‘rand' within a function.。

列表選擇

如果是從少量的枚舉數值中選擇,可以使用CHOOSE函數。

若從大量候選項中選擇,可將數據導入含自增列的數據庫表后,通過標量子查詢進行選擇。

造數SQL

SELECT TOP 5000
  ABS(CHECKSUM(NEWID())) % 100 + 1 AS Col_A
  ,dbo.Random_Range(5000, 10000) AS Col_B
  ,ISNULL(CHOOSE(ABS(CHECKSUM(NEWID())) % 3 + 1, 'S', 'M', 'L', 'XL', 'XXL'), 'M') AS Col_C
  ,DATEADD(DAY, dbo.Random_Range(0, DATEDIFF(DAY, '20000101', '20201231')), '20000101') AS Col_D
FROM sys.all_columns

說明

實際需求可能字段非常多,但基本都可以用以上寫法,修改參數即可;

SQL的功能畢竟有限,基本只適合從固定列表中隨機選擇,以及生成隨機數值性數據的場景;

若要造出更符合業務領域特性的數據,比如批量生成城市名、郵箱、人名、手機號、地址等數據,用純SQL就會有點吃力了,下一篇將介紹如何用python的faker庫生成測試數據。

以上這篇SqlServer生成連續數字根據指定的數字操作就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

您可能感興趣的文章:
  • SQL server 自增ID--序號自動增加的字段操作
  • SQL Server中identity(自增)的用法詳解
  • SQL Server 開窗函數 Over()代替游標的使用詳解
  • SQL Server中row_number函數的常見用法示例詳解
  • SQL Server如何通過創建臨時表遍歷更新數據詳解
  • 解決sql server保存對象字符串轉換成uniqueidentifier失敗的問題

標簽:廣東 臺州 武威 安徽 泰安 汕頭 濟寧 濟源

巨人網絡通訊聲明:本文標題《SqlServer生成連續數字根據指定的數字操作》,本文關鍵詞  SqlServer,生成,連續,數字,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《SqlServer生成連續數字根據指定的數字操作》相關的同類信息!
  • 本頁收集關于SqlServer生成連續數字根據指定的數字操作的相關信息資訊供網民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    精品日韩一区二区| 亚洲免费av观看| 91亚洲男人天堂| 国产精品网站在线观看| 国产精品夜夜爽| 日韩欧美亚洲国产精品字幕久久久| 中文字幕亚洲不卡| 国内精品在线播放| 欧美日韩精品一区二区天天拍小说| www久久精品| 国产美女娇喘av呻吟久久| 欧美一区二区高清| 不卡视频免费播放| 日韩欧美高清在线| 日本不卡免费在线视频| 色哟哟国产精品| 亚洲一区二区三区爽爽爽爽爽 | 91福利资源站| 精品三级av在线| 蜜臀av一区二区三区| 国产一区二区三区最好精华液| 欧美精品1区2区| 884aa四虎影成人精品一区| 欧美日韩国产综合久久 | 一区二区三区四区在线播放| 亚洲123区在线观看| 亚洲丝袜自拍清纯另类| 中文字幕精品三区| 欧美国产精品劲爆| 国产欧美日韩另类一区| 成人a区在线观看| 国产福利一区二区三区视频在线| 国产一区二区三区在线观看免费 | 国产精品乱人伦| 色综合久久中文综合久久97| 欧美疯狂做受xxxx富婆| 日本高清不卡在线观看| 欧洲人成人精品| 欧美日韩国产综合久久| 欧美日韩在线综合| 精品国产不卡一区二区三区| 国产午夜精品久久久久久久| 一区二区不卡在线播放 | 国产在线视频一区二区| 日本女优在线视频一区二区| 日韩影院精彩在线| 青青草国产成人av片免费| 国产成a人无v码亚洲福利| 成人在线综合网| 久久这里只有精品视频网| 亚洲欧美国产三级| 色88888久久久久久影院野外 | 91在线视频官网| 欧美日韩精品专区| 亚洲高清免费视频| 色噜噜狠狠成人中文综合| 中文字幕欧美日本乱码一线二线 | 国产一区二区不卡老阿姨| 国产成a人亚洲| 国产色产综合产在线视频| 麻豆高清免费国产一区| 欧美三区免费完整视频在线观看| 亚洲一区二区高清| 亚洲精品一区在线观看| 另类中文字幕网| 欧美一区二区三区公司| 欧美军同video69gay| 五月天亚洲婷婷| 久久精品99国产国产精| 成人精品免费看| 国产福利一区二区三区在线视频| 成人国产免费视频| 夜夜嗨av一区二区三区中文字幕| 精品99一区二区三区| 成人自拍视频在线观看| 国产一区二区三区国产| 偷窥少妇高潮呻吟av久久免费| 五月天丁香久久| 亚洲午夜成aⅴ人片| 国产精品毛片a∨一区二区三区| 欧美日韩一区二区欧美激情| 精品一区二区日韩| 久久99精品国产麻豆婷婷| 欧美综合一区二区三区| 亚洲午夜在线电影| 欧美二区三区的天堂| 一区二区三区视频在线观看| 欧美精品一区二区久久婷婷| 国产电影一区在线| 18欧美亚洲精品| 天天色天天操综合| 日本中文一区二区三区| 中文字幕一区二区三区视频| 国产精品久久久久毛片软件| 午夜亚洲福利老司机| 久久综合久久综合久久综合| eeuss鲁片一区二区三区在线观看| 久久激五月天综合精品| 日韩一区欧美二区| 美腿丝袜在线亚洲一区 | 国产精品乱码人人做人人爱 | 日韩va欧美va亚洲va久久| 国产欧美日产一区| 666欧美在线视频| 99riav一区二区三区| 成a人片亚洲日本久久| 欧美日韩久久不卡| 欧美精品 日韩| 成人福利视频在线| 不卡一区在线观看| 国产在线视频一区二区| 精品一区二区三区的国产在线播放| 国产精品美女久久久久久久| 国产精品沙发午睡系列990531| 国产福利精品一区二区| 91精品国产色综合久久久蜜香臀| 日韩视频永久免费| 3751色影院一区二区三区| 亚洲欧美日韩国产中文在线| 亚洲午夜精品在线| 精油按摩中文字幕久久| 日一区二区三区| 九色|91porny| 国产清纯白嫩初高生在线观看91 | 国产精品久久久久久一区二区三区| 中文乱码免费一区二区| 欧美视频在线播放| 久久久久久日产精品| ...xxx性欧美| 一二三区精品视频| 国模一区二区三区白浆| 成人一区二区三区视频在线观看| 国产不卡高清在线观看视频| 91国内精品野花午夜精品| 成+人+亚洲+综合天堂| 精品久久久久久最新网址| 毛片一区二区三区| 欧美日韩专区在线| 国产欧美日韩在线观看| 艳妇臀荡乳欲伦亚洲一区| 国产精品久久久久久户外露出 | 成人免费不卡视频| 亚洲欧美另类久久久精品2019| 欧美午夜不卡在线观看免费| 色av成人天堂桃色av| 亚洲国产精品尤物yw在线观看| 国产欧美一区视频| 2021中文字幕一区亚洲| 日韩欧美激情在线| 欧洲生活片亚洲生活在线观看| 欧美午夜视频网站| 久久午夜国产精品| 美女脱光内衣内裤视频久久网站| 欧美一二三四在线| 91成人在线精品| 亚洲已满18点击进入久久| 亚洲va国产天堂va久久en| 日本精品一区二区三区高清 | a级高清视频欧美日韩| 国产精品欧美久久久久无广告| 国产伦精一区二区三区| 久久99国产精品尤物| 26uuu国产在线精品一区二区| 制服丝袜激情欧洲亚洲| 97精品国产露脸对白| 日本色综合中文字幕| 国产美女精品人人做人人爽 | 亚洲精品日产精品乱码不卡| 日韩欧美一卡二卡| 欧洲在线/亚洲| 成+人+亚洲+综合天堂| 国产精品久久久久久久久免费丝袜 | 激情av综合网| 亚洲大片一区二区三区| 亚洲一二三四在线| 亚洲电影一区二区| 在线免费不卡电影| 麻豆国产91在线播放| 在线成人av网站| 天堂久久一区二区三区| 911精品产国品一二三产区| www.欧美.com| 日韩视频免费直播| 一区二区三区在线观看欧美| 亚洲自拍偷拍图区| 国内精品国产三级国产a久久| 久久 天天综合| 99re热这里只有精品视频| 精品成人免费观看| 亚洲视频资源在线| 国内欧美视频一区二区| 欧美色成人综合| 午夜精品爽啪视频| 色婷婷综合中文久久一本| 欧美日本精品一区二区三区| 日韩一卡二卡三卡| 亚洲v日本v欧美v久久精品| youjizz久久| 中文字幕一区二区三区不卡| 日本在线不卡一区|