数据库
首页 > 数据库> > 感恩笔记之三_SQL语句函数功能

感恩笔记之三_SQL语句函数功能

作者:互联网

前言导读
本章收录了SQL语言中经常使用的统计类函数和字符处理函数,
如果能熟练使用这些函数,会大大提高SQL处理字符的能力.

第一部分:SQL函数初级使用

1 字符个数

LEN(‘列’)                       --列的字符数    
charindex(‘列中字符’,‘列’)     --列中字符在列中的位置  

2 字符提取

left  (‘列’,1)             --左显示几个字符   
right  (‘列’,1)            --右显示几个字符   
substring (‘ 列’,2,1)      --从第几位选择几个字符   

3 字符替换

replace(‘ 列 ’,‘列中字符’,‘替换成字符’)        --替换选择的列中字符  

4 其他功能

ltrim (‘ 列’)  --删除前导空格    
rtrim (‘ 列’)  --删除尾随空格    
lower (‘ 列’)  --转小写字母   
upper (‘ 列’)  --转大写字母   

5 聚合函数

COUNT( * )   --统计表中元组个数 
SUM(<列名>)  --计算列值总和(必须是数值型列) 
MAX(<列名>)  --求列值最大值(可以是非数值列) 
COUNT(<列名>)--统计某一列中非空值个数 
AVG(<列名>)  --计算列值平均值(必须是数值型列)  
MIN(<列名>)  --求列值最小值 (可以是非数值列)  

6 使用位置

--1、函数在select中使用:建立as列名,后接where查询,不能使用as列名,需用完整函数表达式
--2、函数在where中使用:单独在where中使用必须完整布尔表达式
--3、在order by中使用:可以使用as列名进行排序
--4、在case when中使用:出现在条件表达式中,而case语句出现在select中
--5 函数组合说明:函数结果数字+比较范围
--函数结果数字+计算数字
--函数使用位置说明:
--函数在select中格式 :select  函数名 (列名) from 表名	
--函数在where中格式 : select  *  from 表名    where 函数名(列名)

第二部分:SQL函数高级使用

1 concat_ws:字符拼接

SELECT CONCAT_WS('-','SQL','数据库',NULL,'开发') --字符拼接:分隔符,字符,字符

2 soundex:字符相似性

SELECT SOUNDEX ('liyue'), SOUNDEX ('liyuee') --显示两个不同字符的相似度

--difference:相似度之间的差异
SELECT SOUNDEX ('liyue'), SOUNDEX ('liyuee') ,DIFFERENCE('liyue', 'liyuee');
--0-4:从不相同到最相似

3 format:转换日期-时间-数字值为字符

一般的数据类型转换使用 CAST

--自定义格式示例:将时间和数字按照自定义的格式转换成字符
SELECT FORMAT( GETDATE(), 'dd/MM/yyyy', 'zh-cn' ) AS '自定义日期'  
       ,FORMAT(123456789,'###-##-####') AS '自定义数字';

--数值格式示例:转换成特定格式
SELECT 
FORMAT(1.127456, 'N', 'zh-cn') AS '四舍五入格式'  --转换成四舍五入格式
,FORMAT(1.123456, 'G', 'zh-cn') AS '一般格式'  --转换成一般格式
,FORMAT(1.123456, 'C', 'zh-cn') AS '货币格式'  --转换成货币格式   

4 patindex:类似charindex

--1使用%模糊词组查找
SELECT PATINDEX('%数据库%', 'SQL数据库开发')
返回模式在指定表达式中第一次出现的起始位置;如果在所有有效的文本和字符数据类型中都找不到该模式,则返回零

--2在 PATINDEX 中使用通配符示例
使用 % 和 _ 通配符查找模式 '数'(后跟任意一个字符和 '库')在指定字符串中的开始位置(索引从 1 开始)
SELECT PATINDEX('%数_库%', 'SQL数据库开发')

5 replicate:重复字符:以指定的次数重复字符串值。

SELECT '2'+REPLICATE ('3',5) --在2中,将3 重复5次

6 reverse:反转字符顺序:返回字符串值的逆序

SELECT REVERSE('SQL数据库开发')

7 string_agg:串联字符串

STRING_AGG 是一个聚合函数,用于提取行中的所有表达式,并将这些表达式串联成一个字符串

 SELECT Name,STRING_AGG(列1,',')  ,STRING_AGG(列2,',') 
 FROM 表名
 GROUP  BY Name

8 string_split:分割字符串

一个表值函数,它根据指定的分隔符将字符串拆分为子字符串行。
SELECT Value FROM STRING_SPLIT('SQL-数据库-开发', '-');

9 stuff:插入字符串

SELECT STUFF('abcdef', 2, 3, 'ijklmn')
将字符串插入到另一个字符串中。 
它从第一个字符串的开始位置删除指定长度的字符;
然后将第二个字符串插入到第一个字符串的开始位置。



select bb,stuff(bb, 5, 0, '插入测试')
from aa

函数说明:
stuff 字符插入函数
参数1:目标列
参数2:插入位置
参数3:向后替换字符个数
参数4:插入内容

10 日期时间差函数

datediff (day,时间格式列1,时间格式列2)  
--说明:datediff 可以运算两种不同格式的时间函数

(本章完)

此资源有PDF目录版,如想获得请扫码关注右侧公众号自动获取

标签:语句,字符,函数,--,之三,SQL,字符串,格式,SELECT
来源: https://www.cnblogs.com/PythonSQL/p/15393527.html