zoukankan      html  css  js  c++  java
  • sqlserver学习--4(replace(),rank(),dense_rank(),update,merge)

    1.replace()函数

    UPDATE tmp_create_fminfo SET bore=REPLACE(REPLACE(bore,'',''),'','')
    --REPLACE(bore,'(',''):bore字段的左括号以空代替
    --REPLACE(REPLACE(bore,'(',''),')',''):REPLACE(bore,'(','')的右括号以空代替

    2.update语法

    单表情况:

    update tbluserinfo set usertype = '232423' from tbluserinfo where userid = '22222' and createtime > '2017-07-12'

    多表关联更新-->相当于merge语法

    update tbluserinfo set usertype = 用水类别 
    from tbluserinfo,tmp_1 where userid = 户号 and createtime > '2017-07-12'
    update tbluserinfo 
       set usertype = 用水类别,
           useraddress = isnull(地址,''),
           installdate = CONVERT(varchar(10),立户日期,121)
      from tbluserinfo,tmp_1
     where userid = 户号 and createtime > '2017-07-12'
    MERGE
    INTO tbluserinfo as info USING tmp_1 as tmp ON info.userid = tmp.户号 and info.createtime > '2017-07-12' WHEN MATCHED THEN update set   info.usertype = tmp.用水类别,   info.useraddress = tmp.地址,   info.installdate = tmp.立户日期

     rank() ,dense_rank()

    注:rank不连续,若一样,占据同一个名次,接下来的数据按照同名次总数+1的方式继续往下排。比如1,1,3,3,3,6,7

      dense_rank连续,若一样,占据同一个名次,接下来的数据按照下一名次继续往下排。比如1,1,1,2,2,3

    select top 100 PID,userid,simid,fmaddress,rank() over(order by simid desc) as rank,dense_rank() over(order by simid desc) as dense_rank
    from tblfmreadinfo



  • 相关阅读:
    2016 Multi-University Training Contest 1 solutions BY HIT
    Unicode 码表
    用 lambda 表达式 对 List 进行排序
    Linux的sed命令介绍
    Linux下的NTP服务搭建
    Linux网络配置(ip命令及配置文件)
    Linux的bash脚本编程(if语句和循环语句)
    Linux新手必须掌握的命令(2)
    Linux的文件查找
    bash中的变量
  • 原文地址:https://www.cnblogs.com/1184212881-Ark/p/6944720.html
Copyright © 2011-2022 走看看