返回顶部
分享到

SQLServer之常用函数总结介绍

数据库其他 来源:互联网 作者:佚名 发布时间:2022-08-26 20:59:29 人浏览
摘要

SQLServer中的常用函数 字符串函数 len() 计算字符串的长度 1 select LEN(name) from test1 --计算name的长度 大小写转换 lower() upper() 1 2 select lower(STUDENT !) select upper(student !) 去空 ltrim() 字符串左侧的

SQLServer中的常用函数

字符串函数

len() 计算字符串的长度

1

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

大小写转换 lower() upper()

1

2

select lower('STUDENT !')

select upper('student !')

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

1

2

3

declare @str varchar(100) = ' a a a '

select ltrim(@str)

select rtrim(@str)

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

1

2

3

select substring('HelloWorld!',6,6)  --可截取任意长度

select left('HelloWorld!' ,5)  --从左开始截取

select right('HelloWorld!' ,6) --从右开始截取

字符串替换 replace()

1

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

字符串 掉个顺序 reverse()

1

select reverse('abc')    --cba

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

1

2

3

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

 

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

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

1

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

聚合函数

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

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

1

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

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

1

2

select min(id) from test1

select max(id) from test1

求和 sum()

1

select sum(id) from test1

计算总数 count()

1

select count(id) from test1

分组

1

2

3

4

统计学生的总成绩并排序

select stu_id as 学生编号 ,name as 学生姓名 , SUM(语文+英语+数学+代数) as 总分from tb_stuAchievement

ORDER BY 总分 DESC

GROUP BY stu_id ,name

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

日期和时间函数

获取当前日期GetDate

1

select getdate()

GetUTCDate 获取UTC时间值

1

select GETUTCDATE()

单独获取年月日

1

2

3

select year(getdate())

select month(getdate())

select day(getdate())

日期减法 DATEDIFF

1

2

select datediff(YYYY,'2011-11-11','2012-12-12')    --输出1 年份相减之后的确是1

select datediff(day,'2011-11-11','2012-12-12')     --输出 397 两个日期相差的天数

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

1

2

3

4

5

6

7

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() 从文本字段中提取字符。

1

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

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

1

SELECT ROUND(column_name,decimals) FROM table_name

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

1

SELECT NOW() FROM table_name

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

1

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

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

1

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

sql server 中没有limit 但是有top

1

2

3

4

5

6

7

8

9

10

11

/*查询 从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 会选取介于两个值之间的数据范围。这些值可以是数值、文本或者日期。

1

2

/* 查询id 1 到3 的数据 */

  select * from stu where id between '1' and '3'

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

1

2

3

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

 

alter table stu drop column stu_sj  --删除列

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

1

2

/* 返回名字,重复的不返回 */

  select distinct stu_name from stu


版权声明 : 本文内容来源于互联网或用户自行发布贡献,该文观点仅代表原作者本人。本站仅提供信息存储空间服务和不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权, 违法违规的内容, 请发送邮件至2530232025#qq.cn(#换@)举报,一经查实,本站将立刻删除。
原文链接 : https://blog.csdn.net/marko_zheng/article/details/85337624
相关文章
  • 一文介绍在Hive中NULL的理解
    在 Hive 中,NULL 是一个特殊的值,表示未知或缺失。任何与NULL的比较操作(如=,,,=,=,)都会返回NULL,而不是TRUE或FALSE。 1.NULL 的比较规则 在
  • Navicat Premium 12数据库管理解决方案

    Navicat Premium 12数据库管理解决方案
    Navicat Premium 12是一款全面的数据库管理工具,支持多种数据库系统如MySQL、MariaDB、Oracle、SQL Server、PostgreSQL等。它提供了多数据库连接、数据
  • sqlite3命令行工具使用介绍
    一、启动与退出 启动数据库连接 1 2 3 sqlite3 [database_file] # 打开/创建数据库文件(如 test.db) sqlite3 # 启动临时内存数据库 (:memory:) sqlite3 :m
  • StarRocks简介与搭建使用介绍

    StarRocks简介与搭建使用介绍
    StarRocks简介 StarRocks 是一款高速、实时、全场景的MPP(大规模并行处理)分析型数据库系统,专为现代数据分析场景设计,强调亚秒级查询性
  • centos虚拟机部署opengauss数据库详细图文

    centos虚拟机部署opengauss数据库详细图文
    一、基本信息 1、虚拟机安装的centos版本 2、opengauss版本 地址:https://opengauss.org/zh/download/ 3、opengauss和gaussdb的区别 高斯数据库(GaussDB)是云
  • 达梦数据库文件故障的恢复方法

    达梦数据库文件故障的恢复方法
    1、概述 1.1 概述 本文介绍了达梦数据库文件损坏或误删除后的恢复方法。这里的数据库文件包括,表空间数据文件、重做日志文件、UNDO文件
  • Sql Server 2008 数据库附加错误:9004问题解决方案介
    【问题描述】 数据库文件存在异常状况,有可能是因为硬盘有坏区引起的。附加数据库的时候,提示错误9004。 【解决方法】 假设数据库名
  • Access数据中的SQL偏移注入原理解析介绍
    使用场景: 目标数据表的字段较多,无法一一获取的时候,尝试使用偏移注入的方式实现SQL注入。 原理: 例如:一个表有6个字段,而你想
  • Navicat导入Excel数据时数据被截断的问题分析与解

    Navicat导入Excel数据时数据被截断的问题分析与解
    在数据库的日常操作中,将Excel数据导入MySQL是常见的需求之一,特别是通过Navicat工具进行Excel数据导入时,可能会遇到数据截断的问题。具
  • GaussDB数据库事务管理及高级应用

    GaussDB数据库事务管理及高级应用
    事务管理是数据库系统中至关重要的一部分,它确保了数据库的一致性和可靠性。在GaussDB数据库中,事务管理不仅遵循传统的ACID特性,还提
  • 本站所有内容来源于互联网或用户自行发布,本站仅提供信息存储空间服务,不拥有版权,不承担法律责任。如有侵犯您的权益,请您联系站长处理!
  • Copyright © 2017-2022 F11.CN All Rights Reserved. F11站长开发者网 版权所有 | 苏ICP备2022031554号-1 | 51LA统计