T-SQL:函数大全(九)
1.CONCAT函数
SELECT custid, country, region, city, country + N',' + region + N',' + city AS location FROM Sales.Customers;
对有NULL 数据行加减也为NULL

怎么解决呢 这里就用到了 CONCAT 函数
SELECT custid, country, region, city, country + COALESCE( N',' + region, N'') + N',' + city AS location FROM Sales.Customers;
CONCAT('A',NULL,'B') 接收一个连接字符串输入并主动替换null 为‘’字符串 结果就是 AB
2.SUBSTRING函数
它可以从字符串提取一个子字符串
和c# 截取字符串用法一样 不过下标不是零开始
, ); -- 'abc'
如果第三个参数超过字符长度也没事 它会默认去整个字符串长度
3.LEFT和RIGHT函数
其实SUBSTRING 函数简化版
); -- 'cde' SELECT LEFT(N'abcde',3); -- 'abc'
4.LEN和DATALENGTH函数
LEN 返回字符数 DATALENGTH 返回字节数 LEN会删除尾随空格 但 DATALENGTH 不会
5.CHARINDEX 函数
返回空格在 后面字符串第一次出现位置
6.PATINDEX 函数
模糊查询条件 在字符串中出现的位置
找寻 数字在后面字符串第一次出现的位置
7.REPLACE函数
SELECT REPLACE('1-a 2-b', '-', ':'); -- '1:a 2:b'
替换函数 也可以用来计算字符串中字符出现的次数
SELECT empid, lastname, LEN(lastname) - LEN(REPLACE(lastname, 'e', '')) AS numoccur FROM HR.Employees;
获取字符串中E出现的次数 当前长度减替换后的长度
8.REPLICATE函数
); -- 'abcabcabc'
复制字符串 通常可用它来生成订单号 例如
SELECT supplierid,
) )),
) AS strsupplierid
FROM Production.Suppliers;

复制9个0 对id类型统一后从右取10个字符 可以根据需求定制类型
9.STUFF 函数
允许从字符串中移除指定数量字符串 并插入新子字符串
, , 'abc'); -- 'xabcz'
第一个参数 字符串 第二个参数 开始移除位置 第三个参数 移除几个字符 第三个参数 移除的字符要替换成什么字符
10.UPPER和LOWER 函数
SELECT UPPER('Itzik Ben-Gan'); -- 'ITZIK BEN-GAN'
SELECT LOWER('Itzik Ben-Gan'); -- 'itzik ben-gan'
大小写互转
11.RTRIM和LTRIM 函数
SELECT RTRIM(LTRIM(' abc ')); -- 'abc'
它们分别是删除 前空格 和后空格
12.FORMAT 函数
类似于字符串格式拼接
, 'd10'); -- '0000001759' , '); -- '0000001759'
自定义格式化字符串输入 可以有多种选择 官方参考链接 https://go.microsoft.com/fwlink/?LinkId=211776
13.LIKE 谓词函数
SELECT empid, lastname FROM HR.Employees WHERE lastname LIKE N'D%';
返回开头是D的用户
SELECT empid, lastname FROM HR.Employees WHERE lastname LIKE N'_e%';
返回开头第二个是e的用户
SELECT empid, lastname FROM HR.Employees WHERE lastname LIKE N'[ABC]%';
返回开头是A或B或C 的用户
SELECT empid, lastname FROM HR.Employees WHERE lastname LIKE N'[A-E]%';
返回开头是A到E 的用户
SELECT empid, lastname FROM HR.Employees WHERE lastname LIKE N'[^A-E]%';
返回不是A到E开头的用户 如果通配符用特殊需要转译 的用 [ ] 包起来 %[%]%
T-SQL:函数大全(九)的更多相关文章
- sql函数大全
sql函数大全 一.内部函数 1.内部合计函数 1)COUNT(*) 返回行数 2)COUNT(DISTINCT COLNAME) 返回指定列中唯一值的个数 3)SUM(COLNAME/EXPRESS ...
- SQL函数大全(字符串函数).
SQL Server 2005 函数大全 字符串函数 字符串函数 SubString在SQL和C#中不同, 一,select substring('abcde',-1,3) select LEN( ...
- Oracle 内置sql函数大全
F.1字符函数--返回字符值 这些函数全都接收的是字符族类型的参数(CHR除外)并且返回字符值.除了特别说明的之外,这些函数大部分返回VARCHAR2类型的数值.字符函数的返回类型所受的限制和基本数据 ...
- 常用SQL函数大全
数学函数 mod(x,y) 返回x/y的模(余数)mod(5,3)=2,mod(3,5)=3 floor(x) 返回小于x的最大整数值ceiling(3)=3,ceiling(3.1)=3 cei ...
- Sql 函数大全 (更新中...由难到简
1.字符处理类: 1.1 指定指定字符输出的次数 ) 结果:1a1a1a1a1a (5个1a)
- SQL SERVER 2008函数大全(含例子)
--SQL SERVER 2008 函数大全 /* author:TracyLee csdncount:Travylee */ /* 一.字符串函数: 1.ascii(字符串表达式) 返回字符串 ...
- SQL SERVER 函数大全[转]
SQL Server 函数大全 一旦成功地从表中检索出数据,就需要进一步操纵这些数据,以获得有用或有意义的结果.这些要求包括:执行计算与数学运算.转换数据.解析数值.组合值和聚合一个范围内的值等. 下 ...
- 【转载】SQL SERVER 函数大全
SQL Server 函数大全 一旦成功地从表中检索出数据,就需要进一步操纵这些数据,以获得有用或有意义的结果.这些要求包括:执行计算与数学运算.转换数据.解析数值.组合值和聚合一个范围内的值等. 下 ...
- SQL函数说明大全
一旦成功地从表中检索出数据,就需要进一步操纵这些数据,以获得有用或有意义的结果.这些要求包括:执行计算与数学运算.转换数据.解析数值.组合值和聚合一个范围内的值等. 下表给出了T-SQL函数的类别和描 ...
- [转]SQL Server字符串处理函数大全
select语句中只能使用sql函数对字段进行操作(链接sql server), select 字段1 from 表1 where 字段1.IndexOf("云")=1;这条语句不 ...
随机推荐
- IOS xib和代码自定义UIView
https://www.jianshu.com/p/1bcc29653085 总结的比较好 iOS开发中,我们常常将一块View封装起来,以便于统一管理内部的子控件. 下面就来说说自定义View的封装 ...
- mysql的一些操作命令
1.查看mysql数据库 SHOW DATABASES;(;号一定要加) 2.创建root用户密码 mysqladmin -u root password "new_password&quo ...
- 10.22 tcpdump:监听网络流量
[功能说明] tcpdump命令是一个截获网络数据包的包分析工具.tcpdump可以将网络中传送的数据包的“头”完全截获下来以提供分析.它支持针对网络层.协议.主机.端口等的过滤,并支持与.或.非逻辑 ...
- 获取Lambda表达式内表达式的值
随着Linq的盛行,对于Linq和Lmabda表达式的使用也越来越多,Lambda表达式在.net framework 3.5中提出来,Lambda表达式是一个匿名方法,通常在LINQ中被用来创建委托 ...
- 背水一战 Windows 10 (89) - 文件系统: 读写文本数据, 读写二进制数据, 读写流数据
[源码下载] 背水一战 Windows 10 (89) - 文件系统: 读写文本数据, 读写二进制数据, 读写流数据 作者:webabcd 介绍背水一战 Windows 10 之 文件系统 读写文本数 ...
- 简介jsp
1.JSP简介 Java动态网页技术标准(Java Server Pages)是基于Servlet技术以及整个Java体系的Web开发技术是用于动态生成HTML文档的Web页面模板JSP是为了改进Se ...
- c# 遍历所有安装程序 获取所有已经安装的程序
/// <summary> /// 获取所有已经安装的程序 /// </summary> /// <param name="reg"></ ...
- react写一个todo
概述 最近学习redux,打算先复习一下react,所以用react写了一个todo.记录下来,供以后开发时参考,相信对其他人也有用. 代码 代码请见我的github 组织架构如下图:
- JScrollPane的使用
概述 jScrollPane.js是一个轻量级的滑块插件, 非常方便使用. 在前端工业界(写页面)使用非常广泛, 下面我记录下用法, 供以后开发时参考, 相信对其他人也有用. PS: 想起之前我用im ...
- LabVIEW(十四):VI属性
1.VI的属性在项目研究中是很常用的,但是会经常忽略VI的属性设置,建议在编程事常常运用这些属性的设置,这样就可以使你的程序更加完善,易懂性也会提高. 属性快捷键:Ctrl+I. 2.常规 (1).编 ...