☆用心生活☆-wonder-{改变自己才能让自己过上不一样的日子。为自己加油!}

MSSQL之系統函數NEWID()我之理解與學習

大家也許對MS SQL的隨機函數NEWID應該不會陌生吧,昨天同事問我在LINQ中怎么實現隨機數查詢,我不加思索的回答,那你是不是要用.NET的RANDOM()函數生成對應的選擇條件,然后進行查詢,后來她告訴我,她有在網絡上SEARCH,只是自己不知道怎么用,后來我看看,網絡上那個代碼,那個注釋,勉強還算是懂了吧,不過自己把自己的心得和體會寫出來,各位俠客、高手、忍者,千萬別拋磚頭砸我,小弟我是自學,HEHE,不過我也希望各位在這里指出我的不足,至少討論中可以學到很多東西,新的技術和想法也是在彼此的討論中得到提升了,歡飲各位討論,留言,發表評論。

--題外話:总觉得繁体字博大精深,不过为了自己和他人看起来比较舒服,我还是使用简体吧。

上图是基于在SQL Server 2005 而生成的

1.先聊聊NEWID():

  newid()是MS SQL SERVER产品自己增加的一个功能函数,目的是用于返回随机生成的uniqueidentity值,见图中的1位置,就知道有一个返回参数。看见上图,各位朋友请你千万注意,别以为@NONE是一个输入参数,其实在这里就相当于一个占位符吧,不起作用,只是表示NEWID()没用传入参数,NONE英文大家都知道就是无,没有的意思。

不信可以进行验证:

code sample:

select  top 2*from Customers order  by newid(4)

红色部分:带了一个参数

此时MSSQL会提示错误:

信息:The newid function requires 0 argument(s).

中文意思:newid函数需要0个参数,言外之意就是没参数。

2.再聊聊怎么使用NEWID()函数

在MSSQL 的查询分析器,或者SQL脚本编辑区,输入以下SQL语句

其实在1中就已经隐约的看出来怎么使用newid function,

代码还是COPY一次吧:

select  top 2*from Customers order  by newid()--可以见图中2的栏位

3. 进行多次EXCUTE SQL命令,

你会发现每次执行后的2条数据都是随机的,基本上都是不一样的结果。

关于在MS SQL中怎么使用NEWID()先说到这里。

下一篇随笔我会讨论一下在LINQ中怎么使用NEWID()

 

posted @ 2009-12-18 10:46  ☆用心生活☆  阅读(3548)  评论(11编辑  收藏  举报
本作者写的任何文章均属原创,若要转载,请注明出处;若
进行与文章有关的商业行为,本作者保留拥有诉诸法律追究
侵权的任何行为。文章只代表本人某一学习时间段内对某一
技术的说明,不代表具有绝对的正确性,若要学习,请与各
位高手编程人员讨论学习。本文章也不代表自己某一时期某
一公司的任何专著和机密文件。仅仅提供自我学习和他人学
习的文章参考,以及自我知识记录。wanzegui325#163.com