• 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()

  • 相关阅读:
    python 抽象
    hive处理日志,自定义inputformat
    random os sys 序列化模块
    collections time模块
    面试题
    正则表达式 和 re模块
    模块的导入 异常处理和软件开发目录规范
    函数的迭代 函数生成器 常用的内置方法
    函数递归 三元表达式 匿名函数 函数内置方法
    闭包函数 装饰器
  • 原文地址:https://www.cnblogs.com/wanzegui325/p/1626958.html
Copyright © 2020-2023  润新知