• SQL SERVER 常用函数 / 语句


    SQL SERVER 常用函数 / 语句
    一、常用函数
    1.字符串函数 :

    charindex(':','abcd:4567') --寻找一个字符在一段字符串中起始的位置  返回结果:5
    len('test') --获取一段字符串的长度    返回结果:4
    left('str',2) --从一段字符串左边返回指定长度的字符      返回结果:'st'
    right('str',2) --返回字符串右边int_expr个字符      返回结果:'tr'
    substring('delphi',2,3) --截取字符串      返回结果:'el'
    datalength(Char_expr) --返回字符串包含字符数,但不包含后面的空格
    length(expression,variable) --指定字符串或变量名称的长度
    concat(str1,str2,...) --返回来自于参数连结的字符串
    upper('str') --将一段小写的字符串转换为大写
    ltrim(' str') --去除一段字符左边的空格
    rtrim('str ') --去除一段字符右边的空格
    stuff('abcdefg',2,4,'book') --从指定的位置删除指定长度的字符串并替换为新的字符串
    replace('delphi test','delphi','xe') --将一段字符串中指定的字符串替换为另一段字符串

    例如:

    select charindex(':','abcd:4567')   -- 5
    

    2.日期,时间函数

    getdate() --获取当前系统时间
    datename(datepart,date_expr) --指定日期字符串中指定时间段的字符串格式
    datepart(datepart,date_expr) --获取指定日期部分的整数形式
    datediff(datepart,date_expr1.dateexpr2) --两个时间段中指定的间隔部分
    dateadd(datepart,number,date_expr) --将指定的数值添加到指定的日期段后

    3.系统函数

    suser_name() --用户登录名
    user_name() --用户在数据库中的名字
    user --用户在数据库中的名字
    show_role() --对当前用户起作用的规则
    db_name() --数据库名
    object_name(obj_id) --数据库对象名
    col_name(obj_id,col_id) --列名
    col_length(objname,colname) --列长度
    valid_name(char_expr) --是否是有效标识符

    二、常用语句--(列的增删改)

    alter table tableName add columnName varchar(30)   --增加列 
    alter table tableName alter column columnName varchar(4000)   --修改列类型
    EXEC sp_rename 'tableName.column1' , 'column2' (把表名为tableName的column1列名修改为column2)    --修改列名称 
    alter table tableName drop column columnName  --删除列

    三、常用语句--(复制表结构)

    --复制表结构及数据到新表
      select * into 目的数据库名.dbo.目的表名 from 原表名
      select * into my0735home.dbo.infoMianTest from infoMian
    
    --备份表的一部分列(不写*而写出列的列表)
      select 列名1,列名2,列名3 into 目的数据库名.dbo.目的表名 from 原表名
      select id,title,mtype,stype,author,tel,nr into infoMianTest2 from infomian
    
    --备份表的一部分行(加WHERE条件)
      select * into 目的数据库名.dbo.目的表名 from 原表名 where id<10
      select * into infomiantest2 from infomian where id<10
    
    --备份表的一部分列(不写*而写出列的列表)和一部分行(加WHERE条件)
      select 列名1,列名2,列名3 into 目的数据库名.dbo.目的表名 from 原表名 where id<10
    
    --只复制表的结构:
      SELECT * INOT t1 FROM titles WHERE 1=2     
    
    --查询结果来源于多个表:如:
    SELECT t_id,title,p_name INTO t3 FROM titles t INNER JOIN pub p ON t.id=p.id

    四、常用语句--(表数据去重复)

    -- 先去重搜索、添加到临时表
    select * into #test from
    (select * from t_rain_fac_year_amount_sum 
    where id in 
    (select max(id) from t_rain_fac_year_amount_sum group by site_code,monitor_point_code,monitor_factor_code,year)) a
    --查看临时表数据
    select * from #test
    --删除原表
    drop table t_rain_fac_year_amount_sum
    --将临时表数据插入原表
    select * into t_rain_fac_year_amount_sum from #test
    



    创建时间:2020.03.17  更新时间:

  • 相关阅读:
    Haskell Interactive Development in Emacs
    Access Java API in Groovy Script
    手工设置Eclipse文本编辑器的配色
    Color Theme of Emacs
    Gnucash的投资记录
    Special Forms and Syntax Sugars in Clojure
    Use w3m as Web Browser
    SSE指令集加速之 I420转BGR24
    【图像处理】 增加程序速度的方法
    TBB 入门笔记
  • 原文地址:https://www.cnblogs.com/guorongtao/p/12510525.html
Copyright © 2020-2023  润新知