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
sql server常用函数、常用语句的更多相关文章
- Sql Server中不常用的表运算符之APPLY(2)
在Sql Server中不常用的表运算符之APPLY(1)中提到,SQL2005中新支持的APPLY的特性:1.可以直接将表表达式(表值函数或者子查询)作为APPLY语句的右表连接左表.2.由于使用A ...
- SQL Server中,常用的全局变量
在SQL Server中,全局变量是一种特殊类型的变量,服务器将维护这些变量的值.全局变量以@@前缀开头,不必进行声明,它们属于系统定义的函数.下表就是SQL Server中一些常用的全局变量. 全局 ...
- Sql Server中不常用的表运算符之UNPIVOT
在Sql Server中不常用的表运算符之PIVOT中,介绍了PIVOT表运算符,现在来说说与之相对应的另一个表运算符UNPIVOT. 从名字可以看出,这个运算符的作用与PIVOT刚好相反,是将一行的 ...
- SQL SERVER其它函数
本篇文章还是学习<程序员的SQL金典>内容的记录,此次将讲解的是SQL SERVER常用的其它函数.(其它数据库这里就不罗列了,想看更多的可以关注<程序员的SQL金典>). 具 ...
- SQL Server日期函数总结
获得一个月的天数:首先到得一个月最后一天的日期,通过 SQL Server 日期函数 day() 取得日期中的“天 ”部分 获得 2008 年 2 月份的天数:select day(cast('200 ...
- SQL Server 聚合函数算法优化技巧
Sql server聚合函数在实际工作中应对各种需求使用的还是很广泛的,对于聚合函数的优化自然也就成为了一个重点,一个程序优化的好不好直接决定了这个程序的声明周期.Sql server聚合函数对一组值 ...
- 数据库开发基础-SQl Server 聚合函数、数学函数、字符串函数、时间日期函数
SQL 拥有很多可用于计数和计算的内建函数. 函数的语法 内建 SQL 函数的语法是: SELECT function(列) FROM 表 函数的类型 在 SQL 中,基本的函数类型和种类有若干种.函 ...
- SQL Server用户自定义函数
用户自定义函数不能用于执行一系列改变数据库状态的操作,但它可以像系统 函数一样在查询或存储过程等的程序段中使用,也可以像存储过程一样通过EXECUTE 命令来执行.在 SQL Server 中根据函数 ...
- SQL Server DATEDIFF() 函数
Server Date 函数 定义和用法 DATEDIFF() 函数返回两个日期之间的天数. 语法 DATEDIFF(datepart,startdate,enddate) startdate 和 e ...
- SQL Server DATEADD() 函数
SQL Server Date 函数 定义和用法 DATEADD() 函数在日期中添加或减去指定的时间间隔. 语法 DATEADD(datepart,number,date) date 参数是合法的日 ...
随机推荐
- Hibernate:工作原理
Hibernate的工作原理图如下所示:
- java 抽象类&接口
1,抽象类中有构造函数吗? 有,用于给子类对象进行初始化. 2,抽象关键字不可以和那些关键字共存? private 不行 static 不行 final 不行 final关键字: 1,fina ...
- 【beta】Scrum站立会议第6次....11.8
小组名称:nice! 组长:李权 成员:于淼 刘芳芳韩媛媛 宫丽君 项目内容:约跑app(约吧) 时间:2016.11.8 12:00——12:30 地点:传媒西楼220室 本次对beta阶段 ...
- bzoj3622-已经没有什么好害怕的的了
题意 给出两个长度为 \(n\) 的数列 \(a,b\) ,\(2n\) 个数都互不相同,求有多少种对应方式使得 \(a_i>b_i\) 的个数比 \(a_i<b_i\) 的个数恰好多 \ ...
- 【bzoj4542】[Hnoi2016]大数 莫队算法
题目描述 给出一个数字串,多次询问一段区间有多少个子区间对应的数为P的倍数.其中P为质数. 输入 第一行一个整数:P.第二行一个串:S.第三行一个整数:M.接下来M行,每行两个整数 fr,to,表示对 ...
- 【uoj#48】[UR #3]核聚变反应强度 数论
题目描述 给出一个长度为 $n$ 的数列 $a$ ,求 $a_1$ 分别与 $a_1...a_n$ 的次大公约数.不存在则输出-1. 输入 第一行一个正整数 $n$ . 第二行 $n$ 个用空格隔开的 ...
- java中的error该不该捕获
写java程序时,通常会被提示捕获异常,而又有一些异常是不需要强制捕获的,这是一个被说烂了的话题.像我一样从其他语言转过来的人确实有点迷惑,那我以我的理解重新解释一遍吧. 异常的基类是Exceptio ...
- [十二]SpringBoot 之 servlet
Web开发使用 Controller 基本上可以完成大部分需求,但是我们还可能会用到 Servlet.Filter.Listener.Interceptor 等等. 当使用spring-Boot时,嵌 ...
- UVA10859 Placing Lampposts
我是题面 这道题使我知道了一种很神奇的方法,一定要认真看哦 如果没有被两盏灯同时照亮的边数应尽量大这个限制的话,这就是一道很经典的树形DP题--没有上司的舞会 很可惜,这个限制就在那里,它使得我辛苦写 ...
- HDU1402:A * B Problem Plus——题解
http://acm.hdu.edu.cn/showproblem.php?pid=1402 给出两个高精度正整数,求它们的积,最长的数长度不大于5e4. FFT裸题,将每个数位看做是多项式的系数即可 ...