数据库:SQLServer中GUID用法介绍

今天给大家分享一下SQLServer中生成GUID的用法。

一、NEWID用法

NEWID()作用是生成无顺序的GUID字符串。用法如下:

SELECT NEWID() --生成36位的GUIDSELECT REPLACE(newid(), '-', '')  -- 生成32 位的GUID

二、NEWSEQUENTIALID用法

1、NEWSEQUENTIALID是什么?

在指定计算机上创建大于先前通过该函数生成的任何 GUID 的 GUID。

NEWSEQUENTIALID() 不能在查询语句中使用,比如不能执行SELECT NEWSEQUENTIALID()这样的语句;

它只能与字段类型定义uniqueidentifier 并且和 DEFAULT 约束一起作为定义数据字段属性使用。

只有当计算机没有网卡时,NEWSEQUENTIALID() 生成的 GUID 才在该特定计算机中是唯一的,反之只有当计算机有网卡时,生成的GUID才是全球唯一。

2、NEWSEQUENTIALID的使用场景

NEWSEQUENTIALID 产生的新的值是有规律的,针对该字段创建索引会带来查询性能上的提升。

3、NEWSEQUENTIALID用法示例

--创建数据表create table TestGuid(id  UNIQUEIDENTIFIER  PRIMARY KEY  DEFAULT (NEWSEQUENTIALID()),sid varchar(36)    DEFAULT (newid()),name nvarchar(50) not null )-- 插入测试数据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');--查询结果SELECT * FROM TestGuid ;

运行结果:

以上是分享内容,感谢阅读,欢迎收藏、点赞、转发。您的支持是我最大的创作动力,有问题可以留言大家共同进步!

IT技术分享社区

个人博客网站:https://programmerblog.xyz

文章推荐程序员效率:画流程图常用的工具程序员效率:整理常用的在线笔记软件远程办公:常用的远程协助软件,你都知道吗?51单片机程序下载、ISP及串口基础知识硬件:断路器、接触器、继电器基础知识

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/270982.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

oracle po:默认申请分组,PR自动创建PO采购订单:强制按照PR行进行分组

有时候,需要实现强制按照PR行来自动创建PO。举个例子:假设2张PR,同一个物料,同一个需求日期等等的,在合并采购订单的时候,希望是2个PO行。按照标准功能的处理逻辑,如果是同一个物料需求日期(配置…

cserialport 循环发送信号_C++信号处理

免费C语言教程:阿里云大学——开发者课堂(点击文章最下方“了解更多”)信号是由操作系统传给进程的中断,会提早终止一个程序。在 UNIX、LINUX、Mac OS X 或 Windows 系统上,可以通过按 CtrlC 产生中断。有些信号不能被程序捕获,但…

不要在foreach循环里进行元素的remove/add操作。remove元素请使用iteratot方式,如果并发操作,需要对Iterator对象加锁

不要在foreach循环里进行元素的remove/add操作。remove元素请使用iteratot方式,如果并发操作,需要对Iterator对象加锁

Win7和Win10操作系统优劣对比,看完你就懂了!

一直以来,针对微软的Windows系统讨论最热烈的莫过于win7和win10系统了,两者究竟谁好谁坏?小编今天就带大家从几个不同的角度分析两者的优缺点,如有不对,欢迎大家指正!一、win 7系统的几大特点:1…

dhcp 续约review报文_Linux的私房菜 DHCP

译DHCP服务DHCP的全称是动态主机配置协议,用来自动给客户机分配TCP/IP信息的网络协议。Dynamic Host Configuration Protocol,前身是BOOTP协议,是一个局域网的网络协议,使用UDP协议工作,统一使用两个IANA分配的端口&am…

硬件编程:硬件开发中常用的几种通信接口总结

在嵌入式系统中,板上通信接口是指用于将各种集成电路与其他外围设备交互连接的通信通路或总线。以下内容为常用板上通信接口:包括I2C、SPI、UART、1-Wire:I2C总线I2C总线是一种同步、双向、半双工的两线式串行接口总线。这里,半双…

集合初始化时,指定集合初始值大小

集合初始化时,指定集合初始值大小

hadoop常用linux命令,# Hadoop学习笔记(二)——Linux常用命令

ifconfigLinux ifconfig命令用于显示或设置网络设备。ifconfig可设置网络设备的状态,或是显示目前的设置。ifconfig.png语法ifconfig [网络设备][down up -allmulti -arp -promisc][add][del][][io_addr][irq][media][mem_start][metric][mtu][netmask][tunnel][-br…

数据库:计算地球上两个坐标点之间里程

今天给大家分享计算地球上两个坐标点之间里程不同数据库版本的脚本。1、SQLServer脚本–-计算地球上两个坐标点(经度,纬度)之间距离sql函数 CREATE FUNCTION [dbo].[fnGetDistance](LatBegin REAL , LngBegin REAL, LatEnd REAL, LngEnd REA…

使用entrySet遍历Map类集合KV,而不是keySet方式进行遍历

使用entrySet遍历Map类集合KV,而不是keySet方式进行遍历

【Qt开发】Qt Creator在Windows上的调试器安装与配置

Qt Creator在Windows上的调试器安装与配置 如果安装Qt时使用的是Visual Studio的预编译版,那么很有可能就会缺少调试器(Debugger),而使用MSVC的Qt对应的原生调试器是CDB(对应MinGW的Qt使用GDB调试器)。本文…

linux rsync 带密码,Linux配置ssh无密码验证,rsync

1.我先声明主机pangzhiminglinux 192.168.200.129CentOS2 192.168.200.130方法大概是这样:如果想从pangzhiminglinux的普通用户无验证登录到CentOS2的普通用户(单方向的),那么就要在两个主机都建立一个相同名字,相同密码的普通…

Java:Lombok插件用法笔记

1、Lombok是什么东东?官方介绍Lombok项目是一个Java库,它可以自动嵌入你的编辑器和构建工具中,从而减少你的代码量。永远不要再写另一个getter或equals方法,它带有一个注释的你的类有一个功能全面的生成器,自动化你的日…

bzoj2058: [Usaco2010 Nov]Cow Photographs(逆序对)

题目大意:给出n个数的序列,每次可以交换相邻的两个数,问把序列变成编号i在编号i1左边,编号1在编号n右边(一个环)最少需要多少步。如:35421最少交换两次变为34512。 一开始看到这题,只会O(n),后来…

sap实施和开发哪个前景_2021年了!还不知道 SAP顾问的职业前景?

一、先说什么是SAP。百度词条的解释:SAP有两个意思一为“System Applications and Products”的简称,是SAP公司的产品——企业管理解决方案的软件名称。也代指SAP公司。二为SAP开发的ERP(Enterprise-wide Resource Planning)软件名…

Linux找最大最小值的命令,Linux中awk命令正确的求最大值、最小值、平均值、总和...

test.txt文件内容&#xff1a;911352142118求最大值&#xff1a;awk BEGIN {max 0} {if ($10 > max0) max$1} END {print "Max", max} test.txtMax 118求最小值&#xff1a;awk BEGIN {min 65536} {if ($10 < min0) min$1} END {print "Min", min}…

​分布式数据库技术基础:数据分布介绍

1、数据分布的定义数据分布是指在分布式环境中通过合理分布数据&#xff0c;提高数据操作自然并行度&#xff0c;以达到最优的执行效率的目的。在构建分布式数据库系统运行环境时&#xff0c;必须考虑数据如何分布在系统的各个场地上。数据分布主要关注的问题是在分布式数据中&…

uname命令 linux,Linux uname命令详解

Linux uname命令用于显示系统信息。uname可显示电脑以及操作系统的相关信息。语法参数&#xff1a;uname [参数]参数&#xff1a;-a或--all&#xff1a;显示全部的信息&#xff1b;-m或--machine&#xff1a;显示电脑类型&#xff1b;-n或-nodename&#xff1a;显示在网络上的主…

分布式数据库技术基础:数据分片介绍

1、数据分片定义数据分片也成为数据分割&#xff0c;是分布式数据库的特征之一。一般在一个分布式数据库中&#xff0c;全局数据库是由各个局部数据库逻辑组合而成的&#xff0c;反之各个局部数据库是由全局数据库的某种分割逻辑而得的。数据分片得到的各部分元组成为该关系的逻…