zoukankan      html  css  js  c++  java
  • 容易遗忘のSQL

    1:时间函数:

    知识点:DATEDIFF() 函数返回两个日期之间的天数,DATEDIFF(datepart,startdate,enddate),startdateenddate 参数是合法的日期表达式。

               datepart 是将为其返回 integer 的 date(日期或时间值)的一部分.比如年、月、日、小时、分钟等等。

    查询入职的年数

    select FName,FIndate,DateDiff(year,FinDate(入职时间字段),Getdate()) from T

    取出每年入职的员工个数 按照入职的年数分组然后在输出个数:

     第一种写法:

    select datediff(year,FInDate,Getdate()),count(*) from T group by datediff(year,FInDate,Getdate())

    第二种写法:
     

    select datepart(year,FIndate),count(*) from T group by datepart(year,FIndate)取出某一部分

     求相差时间的日期

    select dateadd(dd,1,getdate()) 
    

    2:group by语句:

    按照年龄相同的数据分一组

    select count(*) from T gorup by age 

    取出工资大于2000的人员然后按照年龄分组

    select Fage,Count(*) from T where Sale>2000 group by Fage



      注意事项:没有出现在group by子句中的列不能放到select语句后的列名列表中(聚合函数除

    外))gorup by字句必须放到where语句的之后 having是对分组后信息的过滤,能用的列和select中能用的列一样


    3:ISNULL用法:

    ISNULL(expression,value)如果expression不为空则返回expression,否则返回value

    4:case when then:

    三种实现方法

    4.1:标量值函数

    select dbo.rt(sex) from test1
    createfunction rt
    (
    @part int
    )
    returns varchar(10)
    as
    begin
    if @part=1
    return '普通客户'
    if @part=2
    return 'VIP'
    if @part=3
    return 'Custom'
    return ''
    end

    4.2:最普通的CASE WHEN THEN(产生新列)

    select name,(case sex when 1 then '普通客户'

    when 2  then 'a'
                          else  'b'    
    end) as '客服类型'
    from test1

    4.3:支持范围查询的CASE WHEN THEN(产生新列)

       

    select name,(case  when sex=1 //支持范围值  
    then '普通客户'
    when sex=2
    then 'a'
    else
    'b'
    end) as '客服类型'
    from test1


    4.4例子:

       表中有A B C三列,用SQL语句实现:当A列大于B列时选择A列否则选择B列,当B列大于C列时选择B列否则选择C列

    select (case when A>B then A else B end),(case when B>C then B else C end) from T



  • 相关阅读:
    老陈与小石头运算代码
    第五次作业
    老陈与小石头
    简易四则运算
    四则运算
    对git的认识
    第一次作业
    arcgis-tomcat-cors
    jquery deferred promise
    springloaded hot deploy
  • 原文地址:https://www.cnblogs.com/monian/p/2278141.html
Copyright © 2011-2022 走看看