sqlserver提供了一系列字符串处理函数:substring、left、right、len、charindex、patindex、replace、replicate、stuff、upper、lower、rtrim、ltrim等函数。

  • substring函数用于从字符串中提取子串,从指定位置开始(start),具有特定长度(length)的子字符串。

    substring(string,strat,length)

    eg:  select  substring('abcde',1,3)返回子字符串'abc'

select  substring('abcde',1,8)返回字符串'abcde'(如果length长度大于字符串长度,则返回原字符串)

  • leftright函数返回输入字符串从左或右开始的n个字符

    left(sting,n)            /              right(string,n)

    eg:  select  left('abcde',3)返回字符串'abc'

select  right('abcde',3)返回字符串'cde'

  • lendatalength函数分别返回字符串中的字符数以及字符串中的字节数

    len(string)            /                datalength(string)

    eg:  select  len('and')返回字符数3

           select  datalength(N'abc')返回字节数6

           select len('  abc   ')返回5,无论有多少个连续空格,均计算一次

  注:普通字符,字符串的字符数和字节数是一致的,这是因为一个字符只占一个字节的存储空间

Unicode字符,字符串的字符数和字节数是不一致的,一个字符占用两个字节的空间,故字符数是字节数的一半  

  • charindex函数返回字符串中某个子串首次出现的起始位置

    charindex(substring,string[,start_pos]),可以选择性的指定搜索的起始位置,即对start_pos赋值,未对其赋值则从第一个字符开始搜索

    eg:  select  charindex('m','abnmdemf',5)返回7
           select  charindex('m','abnmdemfcv',8)返回0
           select  charindex('m','abnmdemf',3)返回4

    默认情况下,sqlserver对大小写是不敏感的,但是当设置了对大小写敏感COLLATE Latin1_General_CS_AS时(patindex函数同样适用):

    eg:  select  charindex'test', 'this Test is Test' COLLATE Latin1_General_CS_AS)返回0

           select  charindex'test', 'this Test is Test' COLLATE Latin1_General_CI_AS)返回6

  • patindex函数返回某个模式第一次出现的起始位置

    patindex(pattern,string)

    eg:  select patindex('%[0-9]%','abcd123efgh')返回5,查询数字0-9中任一数字在字符串'abcd123efgh'首次出现的位置,%表示数字前可以匹配任意长度的字符,包括空字符

  • replace函数将字符串中出现的所有某个子串替换为另一个字符串

    replace(string,substring1,substring2)将substring1替换为substring2

    eg:  select replace( 'l-a 2-b',  '-',  ':')返回结果为'1:a 2:b'

  • replicate函数指定的次数复制字符串

    replicate(string,n)

    eg:  select  replicate('abc',3)返回'abcabcabc'

  • stuff函数先删除字符串中的一个子串,再插入一个新的子串作为替换

    stuff(string,pos,delete_length,insertstring)

    eg:  select  stuff('xyz',2,1,'abc')返回'xabcz'

  • upperlower函数将字符串转换为大写或小写

    upper(string)          /         lower(string)

  • rtrimltrim函数删除字符串中的尾随空格或前导空格

    rtrim(string)           /          ltrim(string)

    eg:  select  rtrim(ltrim('  abc   '))

  

SQLSERVER字符串处理函数的更多相关文章

  1. sqlserver 字符串处理函数解释

    1.ASCII()返回字符表达式最左端字符的ASCII 码值.在ASCII()函数中,纯数字的字符串可不用‘’括起来,但含其它字符的字符串必须用‘’括起来使用,否则会出错.2.CHAR()将ASCII ...

  2. SqlServer——字符串处理函数

    1) ASCII Format:ASCII ( character_expression ) Function:返回表达式最左端字符的ASCII值. eg: select ASCII('abcdef' ...

  3. SQLserver字符串分割函数

    一.按指定符号分割字符串,返回分割后的元素个数,方法很简单,就是看字符串中存在多少个分隔符号,然后再加一,就是要求的结果.CREATE function Get_StrArrayLength(  @s ...

  4. [转]SQLserver字符串分割函数

    一.按指定符号分割字符串,返回分割后的元素个数,方法很简单,就是看字符串中存在多少个分隔符号,然后再加一,就是要求的结果. CREATE function Get_StrArrayLength ( ) ...

  5. sqlserver字符串拆分函数

    CREATE FUNCTION f_splitSTR(@s varchar(8000), --待分拆的字符串@split varchar(10) --数据分隔符)RETURNS @re TABLE(c ...

  6. SQLserver 字符串分割函数

    CREATE function Get_StrArrayStrOfIndex ( @str varchar(), --要分割的字符串 @split varchar(), --分隔符号 @index i ...

  7. ylb:SQLServer常用系统函数-字符串函数、配置函数、系统统计函数

    原文:ylb:SQLServer常用系统函数-字符串函数.配置函数.系统统计函数 ylbtech-SQL Server:SQL Server-SQLServer常用系统函数 -- ========== ...

  8. sqlserver学习笔记(六)—— sqlserver内置函数(字符串、日期)

    sqlserver中有很多内置函数,这里总结了一些常用的 一.关于字符串的函数: 1.CHARINDEX 寻找一个指定字符串在另一个字符串中的起始位置 SELECT CHARINDEX('world‘ ...

  9. 【转载】Sqlserver使用SUBSTRING函数截取字符串

    在SQL语句查询过程中,Sqlserver支持使用LEFT().RIGHT().SUBSTRING()等几个函数对字符串进行截取操作,SubString函数相对于其他两个函数来说更灵活,使用场景更多, ...

随机推荐

  1. Python实例---抽屉热搜榜前端代码分析

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  2. Java学习---Java面试基础考核·

    Java中sleep和wait的区别 ① 这两个方法来自不同的类分别是,sleep来自Thread类,和wait来自Object类. sleep是Thread的静态类方法,谁调用的谁去睡觉,即使在a线 ...

  3. 新特性之MAPI over HTTP \ 配置 MAPI over HTTP

    Exchange 2016 中的 MAPI over HTTP https://docs.microsoft.com/zh-cn/Exchange/clients/mapi-over-http/map ...

  4. 把bootstrap4 dropdown 的导航下拉菜单触发方式改为鼠标浮动触发

    方法1: 原文: https://zzll.org/article/bootstrap4-xialacaidan 很简单,css中加入如下代码 .dropdown:hover>.dropdown ...

  5. 缓存MEMCACHE php调用

    在项目中,涉及大访问量时,合理的使用缓存能减轻数据库的压力,同时提升用户体验.即在非实时性的需求的前提下,一小段时间内(若干秒),用于显示的数据从缓存中获取的,而不用直接读取数据库,能有效的减少数据库 ...

  6. Java的日期时间

    Date类 Date d = new Date() 使用SimpleDateFormat格式化日期. SimpleDateFormat允许用户自定义日期时间格式来运行. package cuiyuee ...

  7. 如何将pip更新到最新版

    通过该命令即可达到目的:python -m pip install --upgrade pip  pip在Python中是非常常用的,就像node.js里面的npm一样.两者共同的作用是包的管理工具.

  8. Redis简单集群配置

    参考链接为:http://blog.csdn.net/u014230881/article/details/71123494 比较系统学习和熟练使用Redis命令可参考该教程:http://www.r ...

  9. PHP文档

    http://php.net/manual/zh/function.socket-close.php

  10. Tomcat中日志组件

    Tomcat日志组件 AccessLog接口 public interface AccessLog { public void log(Request request, Response respon ...