• MSSQL中的一些常用知识


    一、模糊查询

        _下划线,表示单个字符,和Like连用。如查询姓张,且姓名含有两个字的记录,则为:

         Select * From Student Where sName Like '张__'

        下划线也可以在中间:Like '_国_',中间为国字的记录

       %百分号,表示0个或多个字符。和Like连用,如查询以倒数第二字A结尾的记录

       Select * From Orders Where CustomerID Like '%A_'

      []方括号,表示其中的任意一个字符,如Like  ‘A[0-9]’表示A0、A1...A9其中的值, Like 'A[c,f]'表示条件为Ac或Af记录。

      [^]表示不包含方括号中的字符,如Like '[^0-9]',表示不包含0到9中的字符。Like 'A[^c,f]'表示条件不为Ac和Af的记录。

    二、Top 、Percent 关键字

       Top表示查询出来的语句的前n条记录。

    如Select Top 10 * from orders order by orderID  表示查询前10条记录,默认为升序

    Percent表示查询的百分比,和Top连用。

    如Select Top 10 Percent OrderID,SUM(account) From Orders  Group by OrderID Order by 2 Desc

    表示查询出订单金额最高的10%的订单。

    三、给小数取整数,Ceiling(),Floor()

      ceiling表示向上取整,即小数的整数部分再加1即可。如ceiling(2.86)为3.

      floor表示向下取整,即小数的整数部分。floor(10.99)为10.

    四、四舍五入函数,Round()

      即把带小数点的数值进行四舍五入。本函数有两个参数,第一个参数为要四舍五入的数值,后面为四舍五入后保留的小数位,即看此位数的下一位是否能入上或舍弃。

      如:Select Round(12.3365,2),得到的值为12.34,保留两位小数,第三位是否可以入得上。

     五、Rand随机函数

      Rand(int seed )返回的值是0到1之间的随机小数,如果想得到记录为0-100内的值,则可以这样处理:Rand()*100即可。

    如果指定了种子值,且种子值并不是随机产生的,则调用Rand的值是不会变化的。包括它以后的Rand()也是不可变的,

    如:Select Rand(20.33),Rand(),你不停的执行,会发现两个值都不会变,因为20.33是个定值,对不是随机的值。

    如:
    select RAND(DATEPART(ms,getdate())) ,  RAND(),你会发现这两个值是不停的在变,因为DATEPART(ms,getdate())是取毫秒数,也是一种在变的数,故可以变化。

    其实Rand()中是有种子值的,只是默认的,根据MsSql分布数据产生的。记着,只有种子是随机的此函数产生的值也是随机的,否则是不变的,它也会影像其后的Rand的值。

    六、检查给定的数值是大于0、等于0还是小于0,Sign()函数

       如果指定的列大于0,则此函数值=1,列等于0时则结果为0,小于0时则结果为-1

    如Select Sign(22.33),值为1.

       Select  Sign(0),值为0.

       Select Sign(-12.56),值为-1

    七、大小写转换,UPPER(),LOWER()

      如:Select Upper(abc),则值为ABC.

           Select lower(ABc),则值为abc.

    八、字符串的一些函数

        Len(express)表示一字符串的长度,如Len('ABC')=3

        Replace(express,express1,express2)表示用express2替换express中的express1.如select REPLACE('ABCDEFG','D','123')=ABC123EFG

        SubString(express,startindex,length)表示读取express字符串中从startindex开始,读取长度为Length的字符串。如select SUBSTRING('ABCDEFG',3,3)=’CDE‘,开始的索引是从1开始的,并不是从0.

        STUFF(express,startindex,length,newexpress)表示从express中的startindex开始删除一字符串,删除的长度为length,并用新的字符或字符串newexpress填充删除过的值。startindex的索引是从1开始的。如:select STUFF('ABCDEFG',4,3,'XXX')=‘ABCXXXG’

        CharIndex(substring,sourcestring,[StartIndex]):从sourcestring中查询子串substring开始的索引位置,如果后面的StartIndex参数写入值,则表示从StartIndex处查询子串在sourcestring中的索引值。如select CHARINDEX('E','ABCDEFG',5)=5,select CHARINDEX('E','ABCDEFG',6)=0

      

     

  • 相关阅读:
    数据挖掘实践(9):基础理论(九)数学基础(九)概率(五)⻉叶斯公式
    数据挖掘实践(8):基础理论(八)数学基础(八)概率(四)参数估计(二)
    数据挖掘实践(7):基础理论(七)数学基础(七)概率(三)参数估计(一)
    数据挖掘实践(6):基础理论(六)数学基础(六)概率(二)随机变量
    Linux上快速入门英特尔Optane DC Persistent Memory Module的配置与使用
    ovs 流表
    Cannot get thread event message: debugger service failed
    gdb ovs
    rror while loading shared libraries: libc.so.6: cannot open shared object file: No such file or directory
    glibc
  • 原文地址:https://www.cnblogs.com/yagzh2000/p/2828905.html
Copyright © 2020-2023  润新知