• 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  更新时间:

  • 相关阅读:
    灌水专栏
    工程控制基础相关指标识图与记忆
    材料力学典型习题
    材料力学大学慕课汇总
    机械工程控制基础线性系统时域分析
    ccaa
    在电脑上使用听写,以说话代替打字
    李さんは森さんより若いです
    机械制造工艺基础
    大学慕课材料力学总结
  • 原文地址:https://www.cnblogs.com/guorongtao/p/12510525.html
Copyright © 2020-2023  润新知