SqlServer怎么获得生成的newid的值?

 我来答
常山赵子龙66
推荐于2019-11-08 · TA获得超过1.4万个赞
知道小有建树答主
回答量:145
采纳率:100%
帮助的人:6.3万
展开全部
  1. 没有类似于select scope_identity()这样的函数,最好在应用程序中自己生成GUID 插入数据库;

  2. 这样就不需要利用主键默认值是newid(), 或者在后台使用newid()生成GUID;

  3. DECLARE @myid uniqueidentifier;

  4. SET @myid = NEWID();

  5. insert into table1 (PK_FIELD);

  6. values (@myid)。

网易云信
2023-12-06 广告
UIkit是一套轻量级、模块化且易于使用的开源UI组件库,由YOOtheme团队开发。它提供了丰富的界面元素,包括按钮、表单、表格、对话框、滑块、下拉菜单、选项卡等等,适用于各种类型的网站和应用程序。UIkit还支持响应式设计,可以根据不同... 点击进入详情页
本回答由网易云信提供
帐号已注销
2018-05-28 · TA获得超过881个赞
知道答主
回答量:0
采纳率:0%
帮助的人:0
展开全部

在查询分析器中执行:select rand(),可以看到结果会是类似于这样的随机小数:0.36361513486289558,像这样的小数在实际应用中用得不多,一般要取随机数都会 取随机整数。那就看下面的两种随机取整数的方法:

A:select  floor(rand()*N)  ---生成的数是这样的:12.0
B:select cast( floor(rand()*N) as int)  ---生成的数是这样的:12

A:select ceiling(rand() * N)  ---生成的数是这样的:12.0
B:select cast(ceiling(rand() * N) as int)  ---生成的数是这样的:12

大致一看,这两种方法没什么区别,真的没区别?其实是有一点的,那就是他们的生成随机数的范围:
方法1的数字范围:0至N-1之间,如cast( floor(rand()*100) as int)就会生成0至99之间任一整数
方法2的数字范围:1至N之间,如cast(ceiling(rand() * 100) as int)就会生成1至100之间任一整数
对于这个区别,看SQL的联机帮助就知了:

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
fxtrade114
2018-01-25 · TA获得超过316个赞
知道小有建树答主
回答量:552
采纳率:100%
帮助的人:424万
展开全部
没有类似于select scope_identity()这样的函数,最好在应用程序中自己生成GUID 插入数据库,
这样就不需要利用主键默认值是newid(), 或者在后台使用newid()生成GUID
DECLARE @myid uniqueidentifier
SET @myid = NEWID()
insert into table1 (PK_FIELD)
values (@myid)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
fxtrade114
2018-03-30 · TA获得超过316个赞
知道小有建树答主
回答量:552
采纳率:100%
帮助的人:424万
展开全部
没有类似于select scope_identity()这样的函数,最好在应用程序中自己生成GUID 插入数据库,
这样就不需要利用主键默认值是newid(), 或者在后台使用newid()生成GUID
DECLARE @myid uniqueidentifier
SET @myid = NEWID()
insert into table1 (PK_FIELD)
values (@myid)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式