SQLServer之常用函数总结详解


Posted in SQL Server onAugust 30, 2021

SQLServer中的常用函数

字符串函数

len() 计算字符串的长度

select LEN(name) from test1  --计算name的长度

大小写转换 lower() upper()

select lower('STUDENT !')
select upper('student !')

去空 ltrim() 字符串左侧的空格去掉 ,rtrim()字符串右侧的空格去掉

declare @str varchar(100) = ' a a a '
select ltrim(@str)
select rtrim(@str)

字符串截取 substring() left() right()

select substring('HelloWorld!',6,6)  --可截取任意长度
select left('HelloWorld!' ,5)  --从左开始截取
select right('HelloWorld!' ,6) --从右开始截取

字符串替换 replace()

select replace('HelloWorld!','o','e')    --string,要被替换的字符串,替换的字符串

字符串 掉个顺序 reverse()

select reverse('abc')    --cba

返回 字符串1在字符串2中出现的未位置 charindex()

charindex(srt1 ,srt2)--srt1 在srt2中的开始位置

select charindex('H','elloHWorld') 结果为:5 --只能查第一次出现的位置,匹配不到返回0

指定的次数重复字符串值 replicate()

select replicate('abc',4) 结果为:abcabcabcabc

聚合函数

聚合函数对一组值计算后返回单个值。除了count(统计项数)函数以外,其他的聚合函数在计算式都会忽略空值(null)。所有的聚合函数均为确定性函数。

平均值 avg() 算一组数的总和,然后除以为null的个数,得到平均值。

select avg(id) from test1     avg(列名)

最小值min() 最大值max()

select min(id) from test1
select max(id) from test1

求和 sum()

select sum(id) from test1

计算总数 count()

select count(id) from test1

分组

统计学生的总成绩并排序
select stu_id as 学生编号 ,name as 学生姓名 , SUM(语文+英语+数学+代数) as 总分from tb_stuAchievement 
ORDER BY 总分 DESC
GROUP BY stu_id ,name

(函数可能不全,我只记录了我用到的,完整的函数可以查查手册)

日期和时间函数

获取当前日期GetDate

select getdate()

GetUTCDate 获取UTC时间值

select GETUTCDATE()

单独获取年月日

select year(getdate())
select month(getdate())
select day(getdate())

日期减法 DATEDIFF

select datediff(YYYY,'2011-11-11','2012-12-12')    --输出1 年份相减之后的确是1
select datediff(day,'2011-11-11','2012-12-12')     --输出 397 两个日期相差的天数

SQLServer 2008中新增的日期时间型函数

1、获取系统时间 SysDateTime()
2、获取当前日期和时间 SysDateTimeOffset
3、获取系统UTC时间 SysUTCDateTime
4、Current_TimeStamp当前数据库系统时间戳
5、判断是否为日期数据isDate
		select isdate('2012-12-12')    -- 输出1
     select isdate('xxxx-12-12')  -- 输出0

(函数可能不全,我只记录了部分,完整的函数可以查查手册)

MID() 从文本字段中提取字符。

SELECT MID(City,1,3) as SmallCity FROM Persons

ROUND() 函数 数值字段舍入为指定的小数位数。

SELECT ROUND(column_name,decimals) FROM table_name

NOW() 函数 返回当前的日期和时间。

SELECT NOW() FROM table_name

FORMAT () 用于对字段的显示进行格式化。

select FORMAT(stu_intime,'yyyy-MM-dd hh:mm:ss') as intime from stu

SELECT INTO 从一个表中选取数据,然后把数据插入另一个表中。

select stu_name,stu_id into stu1 from stu   --将stu表中的stu_id和stu_name插入新表stu1(会创建一个新表)

sql server 中没有limit 但是有top

/*查询 从n开始的m条数据 */
  declare @n int=2;
  declare @m int = 5;
  select top (@m) * from stu
  where id not in (select top (@n) id from stu)

  /*查询n到m之间的数据*/
  declare @n int=2;
  declare @m int = 5;
  select top (@m-@n+1) * from stu
  where id not in (select top (@n-1) id from stu)

BETWEEN … AND 会选取介于两个值之间的数据范围。这些值可以是数值、文本或者日期。

/* 查询id 1 到3 的数据 */
  select * from stu where id between '1' and '3'

ALTER TABLE 语句用于在已有的表中添加、修改或删除列。

alter table stu add stu_sj varchar(200)   --添加一列名为stu_sj

 alter table stu drop column stu_sj  --删除列

DISTINCT 用于返回唯一不同的值。

/* 返回名字,重复的不返回 */
  select distinct stu_name from stu

到此这篇关于SQLServer之常用函数总结详解的文章就介绍到这了,更多相关SQLServer之常用函数内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

SQL Server 相关文章推荐
2021-4-3课程——SQL Server查询【2】
Apr 05 SQL Server
SQL Server中使用判断语句(IF ELSE/CASE WHEN )案例
Jul 07 SQL Server
SqlServer数据库远程连接案例教程
Jul 15 SQL Server
Spark SQL 2.4.8 操作 Dataframe的两种方式
Oct 16 SQL Server
通过T-SQL语句创建游标与实现数据库加解密功能
Mar 16 SQL Server
SQL Server中常用截取字符串函数介绍
Mar 16 SQL Server
详解在SQLPlus中实现上下键翻查历史命令的功能
Mar 18 SQL Server
Sql Server 行数据的某列值想作为字段列显示的方法
Apr 20 SQL Server
SQL Server中T-SQL标识符介绍与无排序生成序号的方法
May 25 SQL Server
SQL Server2019安装的详细步骤实战记录(亲测可用)
Jun 10 SQL Server
在SQL Server中使用 Try Catch 处理异常的示例详解
Jul 15 SQL Server
SQL写法--行行比较
Aug 23 #SQL Server
SQL语句中JOIN的用法场景分析
sql通过日期判断年龄函数的示例代码
Jul 16 #SQL Server
利用 SQL Server 过滤索引提高查询语句的性能分析
SqlServer数据库远程连接案例教程
数据库之SQL技巧整理案例
Jul 07 #SQL Server
SQL Server中使用判断语句(IF ELSE/CASE WHEN )案例
Jul 07 #SQL Server
You might like
《PHP编程最快明白》第五讲:php目录、文件操作
2010/11/01 PHP
php异常:Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE  eval()'d code error
2011/05/19 PHP
php常用Output和ptions/Info函数集介绍
2013/06/19 PHP
PHP 数组基本操作方法详解
2016/06/17 PHP
面向对象的编程思想在javascript中的运用上部
2009/11/20 Javascript
jquery 学习之二 属性(类)
2010/11/25 Javascript
基于KMP算法JavaScript的实现方法分析
2013/05/03 Javascript
js添加table的行和列 具体实现方法
2013/07/22 Javascript
extjs_02_grid显示本地数据、显示跨域数据
2014/06/23 Javascript
Javascript之String对象详解
2016/06/08 Javascript
详解Angular开发中的登陆与身份验证
2016/07/27 Javascript
D3.js实现饼状图的方法详解
2016/09/21 Javascript
JS获取IE版本号与HTML设置IE文档模式的方法
2016/10/09 Javascript
JS中数组重排序方法
2016/11/11 Javascript
微信小程序使用radio显示单选项功能【附源码下载】
2017/12/11 Javascript
微信小程序中时间戳和日期的相互转换问题
2018/07/09 Javascript
微信小程序前端promise封装代码实例
2019/08/24 Javascript
微信小程序实现录音功能
2019/11/22 Javascript
VUE-ElementUI 自定义Loading图操作
2020/11/11 Javascript
[38:30]2014 DOTA2国际邀请赛中国区预选赛 LGD-GAMING VS CIS 第一场2
2014/05/24 DOTA
[54:24]Optic vs TNC 2018国际邀请赛小组赛BO2 第二场
2018/08/18 DOTA
[40:31]Secret vs Alliacne 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/17 DOTA
Python之父谈Python的未来形式
2016/07/01 Python
python中文件变化监控示例(watchdog)
2017/10/16 Python
python使用TensorFlow进行图像处理的方法
2018/02/28 Python
django 实现编写控制登录和访问权限控制的中间件方法
2019/01/15 Python
Python3.5字符串常用操作实例详解
2019/05/01 Python
Python 实现加密过的PDF文件转WORD格式
2020/02/04 Python
美国家居装饰购物网站:Amanda Lindroth
2020/03/25 全球购物
下列程序在32位linux或unix中的结果是什么
2014/03/25 面试题
《盘古开天地》教学反思
2014/02/28 职场文书
莫言诺贝尔获奖演讲稿
2014/05/21 职场文书
关于读书的演讲稿300字
2014/08/27 职场文书
同学毕业留言寄语
2015/02/27 职场文书
2019年二手房买卖合同范本
2019/10/14 职场文书
Feign调用传输文件异常的解决
2021/06/24 Java/Android