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:函数大全(九)的更多相关文章

  1. sql函数大全

    sql函数大全 一.内部函数 1.内部合计函数 1)COUNT(*) 返回行数 2)COUNT(DISTINCT COLNAME) 返回指定列中唯一值的个数 3)SUM(COLNAME/EXPRESS ...

  2. SQL函数大全(字符串函数).

    SQL Server 2005  函数大全 字符串函数 字符串函数 SubString在SQL和C#中不同, 一,select  substring('abcde',-1,3) select LEN( ...

  3. Oracle 内置sql函数大全

    F.1字符函数--返回字符值 这些函数全都接收的是字符族类型的参数(CHR除外)并且返回字符值.除了特别说明的之外,这些函数大部分返回VARCHAR2类型的数值.字符函数的返回类型所受的限制和基本数据 ...

  4. 常用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 ...

  5. Sql 函数大全 (更新中...由难到简

    1.字符处理类: 1.1 指定指定字符输出的次数 ) 结果:1a1a1a1a1a (5个1a)

  6. SQL SERVER 2008函数大全(含例子)

    --SQL SERVER 2008 函数大全 /* author:TracyLee csdncount:Travylee */ /* 一.字符串函数: 1.ascii(字符串表达式)    返回字符串 ...

  7. SQL SERVER 函数大全[转]

    SQL Server 函数大全 一旦成功地从表中检索出数据,就需要进一步操纵这些数据,以获得有用或有意义的结果.这些要求包括:执行计算与数学运算.转换数据.解析数值.组合值和聚合一个范围内的值等. 下 ...

  8. 【转载】SQL SERVER 函数大全

    SQL Server 函数大全 一旦成功地从表中检索出数据,就需要进一步操纵这些数据,以获得有用或有意义的结果.这些要求包括:执行计算与数学运算.转换数据.解析数值.组合值和聚合一个范围内的值等. 下 ...

  9. SQL函数说明大全

    一旦成功地从表中检索出数据,就需要进一步操纵这些数据,以获得有用或有意义的结果.这些要求包括:执行计算与数学运算.转换数据.解析数值.组合值和聚合一个范围内的值等. 下表给出了T-SQL函数的类别和描 ...

  10. [转]SQL Server字符串处理函数大全

    select语句中只能使用sql函数对字段进行操作(链接sql server), select 字段1 from 表1 where 字段1.IndexOf("云")=1;这条语句不 ...

随机推荐

  1. centos7.2 下 nginx 开机启动

    1.在系统服务目录里创建nginx.service文件 1 vi /lib/systemd/system/nginx.service 内容如下 1 2 3 4 5 6 7 8 9 10 11 12 1 ...

  2. Java面试题3

    1.servlet执行流程 客户端发出http请求,web服务器将请求转发到servlet容器,servlet容器解析url并根据web.xml找到相对应的servlet,并将request.resp ...

  3. kmp循环节

    循环判断   i%(i-next[i]) == 0 && next[i] != 0 循环长度  i-next[i];

  4. Alpha阶段项目复审(冲鸭队)

    Alpha阶段项目复审(冲鸭队) 组名 优点 缺点 排名 天冷记得穿秋裤队 支持文件离线开源下载,没有限速 部分功能未实现 1 中午吃啥队 点餐系统用户需求较高,系统功能完善 界面可以再完善一下些 2 ...

  5. org.apache.commons.dbcp.SQLNestedException: Cannot load JDBC driver class 'com.microsoft.sqlserver.jdbc.SQLServerDriver '

    问题摘要: org.springframework.jdbc.CannotGetJdbcConnectionException: Could not get JDBC Connection; nest ...

  6. Lerning Entity Framework 6 ------ Handling concurrency With SQL Server Database

    The default Way to handle concurrency of Entity Framework is using optimistic concurrency. When two ...

  7. @RequestParam加不加的区别

    感觉@撸码识途 https://www.cnblogs.com/tinyj/p/9786131.html 加上的情况: @RequestMapping("demo") public ...

  8. live-server 快速搭建服务

    原因: 在2018年3月2日偶然情况下听到一个大佬提起“live-server”这东西, 我就研究一下,用过的人才知道live-server多么方便... 功能: 当启动live-server服务的文 ...

  9. 终于等到你!阿里正式向 Apache Flink 贡献 Blink 源码

    摘要: 如同我们去年12月在 Flink Forward China 峰会所约,阿里巴巴内部 Flink 版本 Blink 将于 2019 年 1 月底正式开源.今天,我们终于等到了这一刻. 阿里妹导 ...

  10. Ubuntu18.04 安装 VMwareTools

    VMwareTools作用: 1.增强虚拟显卡和硬盘性能.以及同步虚拟机与主机时钟的驱动程序. 2.可以从物理主机直接往虚拟机里面拖文件. 3.鼠标进入虚拟机后可以直接出来,无需按CTRL+ALT才可 ...