数据库:SQLServer中GUID用法介绍
今天給大家分享一下SQLServer中生成GUID的用法。
一、NEWID用法
NEWID()作用是生成無順序的GUID字符串。用法如下:
SELECT NEWID() --生成36位的GUIDSELECT REPLACE(newid(), '-', '') -- 生成32 位的GUID二、NEWSEQUENTIALID用法
1、NEWSEQUENTIALID是什么?
在指定計(jì)算機(jī)上創(chuàng)建大于先前通過該函數(shù)生成的任何 GUID 的 GUID。
NEWSEQUENTIALID() 不能在查詢語句中使用,比如不能執(zhí)行SELECT NEWSEQUENTIALID()這樣的語句;
它只能與字段類型定義uniqueidentifier 并且和 DEFAULT 約束一起作為定義數(shù)據(jù)字段屬性使用。
只有當(dāng)計(jì)算機(jī)沒有網(wǎng)卡時(shí),NEWSEQUENTIALID() 生成的 GUID 才在該特定計(jì)算機(jī)中是唯一的,反之只有當(dāng)計(jì)算機(jī)有網(wǎng)卡時(shí),生成的GUID才是全球唯一。
2、NEWSEQUENTIALID的使用場(chǎng)景
NEWSEQUENTIALID 產(chǎn)生的新的值是有規(guī)律的,針對(duì)該字段創(chuàng)建索引會(huì)帶來查詢性能上的提升。
3、NEWSEQUENTIALID用法示例
--創(chuàng)建數(shù)據(jù)表create table TestGuid(id UNIQUEIDENTIFIER PRIMARY KEY DEFAULT (NEWSEQUENTIALID()),sid varchar(36) DEFAULT (newid()),name nvarchar(50) not null )-- 插入測(cè)試數(shù)據(jù)goINSERT TestGuid (name) VALUES('小明');INSERT TestGuid (name) VALUES('小王');INSERT TestGuid (name) VALUES('小張');INSERT TestGuid (name) VALUES('小劉');INSERT TestGuid (name) VALUES('小明2');INSERT TestGuid (name) VALUES('小王2');INSERT TestGuid (name) VALUES('小張2');INSERT TestGuid (name) VALUES('小劉2');INSERT TestGuid (name) VALUES('小明3');INSERT TestGuid (name) VALUES('小王3');INSERT TestGuid (name) VALUES('小張3');INSERT TestGuid (name) VALUES('小劉3');--查詢結(jié)果SELECT * FROM TestGuid ;運(yùn)行結(jié)果:
以上是分享內(nèi)容,感謝閱讀,歡迎收藏、點(diǎn)贊、轉(zhuǎn)發(fā)。您的支持是我最大的創(chuàng)作動(dòng)力,有問題可以留言大家共同進(jìn)步!
IT技術(shù)分享社區(qū)
個(gè)人博客網(wǎng)站:https://programmerblog.xyz
文章推薦程序員效率:畫流程圖常用的工具程序員效率:整理常用的在線筆記軟件遠(yuǎn)程辦公:常用的遠(yuǎn)程協(xié)助軟件,你都知道嗎?51單片機(jī)程序下載、ISP及串口基礎(chǔ)知識(shí)硬件:斷路器、接觸器、繼電器基礎(chǔ)知識(shí)
總結(jié)
以上是生活随笔為你收集整理的数据库:SQLServer中GUID用法介绍的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 1-7docke的网络模式
- 下一篇: 网络知识:说说我们常听说的网络攻击是怎么