zoukankan      html  css  js  c++  java
  • sql server常用函数、常用语句

    一、常用函数

    1.字符串函数 :

    charindex(':','abc:123')    --寻找一个字符在一段字符串中起始的位置

    len('zhangsan')   --获取一段字符串的长度

    left('Ly,君子之耀',2) --从一段字符串左边返回指定长度的字符

    right(char_expr,int_expr)  --返回字符串右边int_expr个字符

    substring(expression,start,length) --截取字符串

    datalength(Char_expr)  --返回字符串包含字符数,但不包含后面的空格

    length(expression,variable)  --指定字符串或变量名称的长度

    concat(str1,str2,...)  --返回来自于参数连结的字符串

    upper('Yang') --将一段小写的字符串转换为大写

    ltrim('   zhangsan') --去除一段字符左边的空格

    rtrim('zhang   san   ') --去除一段字符右边的空格

    stuff('abcdefg',2,4,'张三') --从指定的位置删除指定长度的字符串并替换为新的字符串

    replace('扬子之耀','扬子','君') --将一段字符串中指定的字符串替换为另一段字符串

    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) 是否是有效标识符

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

    1、增加列

      alter table tableName add columnName varchar(30)  

    2、修改列类型

      alter table tableName alter column columnName varchar(4000) 

    3、修改列名称

      EXEC  sp_rename   'tableName.column1' , 'column2'  (把表名为tableName的column1列名修改为column2)  

    4、删除列

      alter table tableName drop column columnName  

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

    1:复制表结构及数据到新表

      select * into 目的数据库名.dbo.目的表名 from 原表名

      select * into my0735home.dbo.infoMianTest from infoMian

    2:备份表的一部分列(不写*而写出列的列表)

      select 列名1,列名2,列名3 into 目的数据库名.dbo.目的表名 from 原表名

      select id,title,mtype,stype,author,tel,nr into infoMianTest2 from infomian

    3:备份表的一部分行(加WHERE条件)

      select * into 目的数据库名.dbo.目的表名 from 原表名 where id<10

      select * into infomiantest2 from infomian where id<10

    4:备份表的一部分列(不写*而写出列的列表)和一部分行(加WHERE条件)

      select 列名1,列名2,列名3 into 目的数据库名.dbo.目的表名 from 原表名 where  id<10

    5:只复制表的结构:如:

      SELECT * INOT t1 FROM titles WHERE 1=2

    6:查询结果来源于多个表:如:

    SELECT title_id,title,pub_name INTO t3

    FROM titles t INNER JOIN publishers p

    ON t.pub_id=p.pub_id

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

    1:表中数据去掉重复

    -- 先去重搜索、添加到临时表
    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

    五、常用语句--(sql server截取字符串) 

    SQL Server 中截取字符串常用的函数:  
    
    1.LEFT ( character_expression , integer_expression )  
    函数说明:LEFT ( '源字符串' , '要截取最左边的字符数'  )  
    返回从字符串左边开始指定个数的字符  
    select LEFT('SQL_Server_2008',4 );  
    返回结果:SQL_  
    
    2.RIGHT ( character_expression , integer_expression )  
    函数说明:RIGHT ( '源字符串' , '要截取最右边的字符数'  )  
    返回字符串中从右边开始指定个数的 integer_expression 字符  
    select RIGHT('SQL_Server_2008',4 );  
    返回结果:2008  
    
    3.SUBSTRING ( character_expression , start , length )  
    函数说明:SUBSTRING ( '源字符串' , '截取起始位置(含该位置上的字符)' , '截取长度' )  
    返回字符、binary、text 或 image 表达式的一部分  
    select SUBSTRING('SQL_Server_2008',5 ,6);  
    返回结果:Server  
  • 相关阅读:
    mybatis源码阅读-Transaction和TransactionFactory(四)
    mybatis源码阅读-SqlSessionFactory和SqlSession(三)
    mybatis使用-高级用法(二)
    mybatis使用-helloword(一)
    Spring Boot-全局异常处理(八)
    Spring Boot-定义拦截器(七)
    Spring Boot-整合redis(六)
    Spring Boot-热部署和Debugger使用(三)
    Spring Boot-整合Mybatis(五)
    netty自定义协议 心跳 断线重连源码
  • 原文地址:https://www.cnblogs.com/sxxjyj/p/6180711.html
Copyright © 2011-2022 走看看