Sql Server REPLACE函数的使用

REPLACE
用第三个表达式替换第一个字符串表达式中出现的所有第二个给定字符串表达式。

语法
REPLACE ( ''string_replace1'' , ''string_replace2'' , ''string_replace3'' )

参数
''string_replace1''

待搜索的字符串表达式。string_replace1 可以是字符数据或二进制数据。

''string_replace2''

待查找的字符串表达式。string_replace2 可以是字符数据或二进制数据。

''string_replace3''

替换用的字符串表达式。string_replace3 可以是字符数据或二进制数据。

返回类型
如果 string_replace(1、2 或 3)是支持的字符数据类型之一,则返回字符数据。如果 string_replace(1、2 或 3)是支持的 binary 数据类型之一,则返回二进制数据。

示例
下例用 xxx 替换 abcdefghi 中的字符串 cde。

SELECT REPLACE(''abcdefghicde'',''cde'',''xxx'')GO
下面是结果集:

------------abxxxfghixxx(1 row(s) affected)

 

语法格式:PATINDEX ( '%pattern%' , expression )

返回pattern字符串在表达式expression里第一次出现的位置,起始值从1开始算。

pattern字符串在expression表达式里没找就返回0,对所有有效的文本和字符串就是有效的数据类型。

描述一下此函数的具体用法:

1. PATINDEX ( '%pattern%' , expression )

'%pattern%'的用法类似于 like '%pattern%'的用法,也就是模糊查找其pattern字符串是否是expression找到,找到并返回其第一次出现的位置。

如:

select patindex('�b%','abcaabbeeabb')

结果5,也就是abb第一次出现的位置。

2.PATINDEX ( '%pattern' , expression )

'%pattern' 类似于 like '%pattern'的用法,前面用模糊查找,也就是查找pattern的结束所在expression的位置,也就是从后面匹配起查找。

如:

select patindex('�b','abcaabbeeabb')

返回10,也就是abb在后面第一次出现的位置。

select patindex('�b','abcaabbeeabbr')

返回0,后面的第一个字母r和abb不匹配,所以返回0

3.PATINDEX ( 'pattern%' , expression )

'pattern%'类似于 like 'pattern%'也就前面用精确查找,后面模糊查找,也就相当于查询pattern首次出现的位置。

如:

select patindex('abb%','abbcaabbeeabb')

返回1,也就相当于起始值

select patindex('abb%','arbbcaabbeeabb')

返回0,开头找不到就返回0,后面无论有多少都不管。

4.PATINDEX ( 'pattern' , expression )

这就相当于精确匹配查找,也就是pattern,expression完全相等。

如:

select patindex('abb','abb')

返回1,完全相等

select patindex('abb','abbr')

返回0,不完全相等

5. patindex('%[pattern]%','ddabcaabbeeabbr'),

patindex('%[^pattern]%','ddabcaabbeeabbr')

在此先说[]的用法,[]是指定某些特殊的字符。[^]除[]之外的字符串,[]这其中的每一个。

如:

Symbol Meaning

LIKE '5[%]' 5%

LIKE '[_]n' _n

LIKE '[a-cdf]' a, b, c, d, or f

LIKE '[-acdf]' -, a, c, d, or f

LIKE '[ [ ]' [

LIKE ']' ]

LIKE 'abc[_]d%' abc_d and abc_de

LIKE 'abc[def]' abcd, abce, and abcf

如:

select patindex('%[d]%','rcrdsddddaadadffdr')

返回4,[]中d在字符串rcrdsddddaadadffdr的第一次出现的位置。

select patindex('%[cd]%','rcrdsdddrdaadadffdr')

返回2,[]中c,d在其中一个的位置,返回最先出现的这个位置,c在此字符串里第一次出现位置是2,而d是4,结果取最先的那个。

select patindex('%[sd]%','rcrdsdddrdaadadffdr')

返回4,[]中c,d在其中一个的位置,返回最先出现的这个位置,s在此字符串里第一次出现位置是5,而d是4,结果取最先的那个。

select patindex('%[^r]%','rrrdsdddrdaadadffdr')

返回4,除[]中的字符串的匹配字符,第一次出现d不在[^r]里,所以就找到第一次这位。

select patindex('%[^rd]%','rrrdsdddrdaadadffdr')

返回5,除[]中的字符串的匹配字符,第一次出现s不在[^rd]里,所以就找到第一次这位。

select patindex('%[^rsd]%','rrrdsdddrdaadadffdr')

返回11,除[]中的字符串的匹配字符,第一次出现a不在[^rsd]里,所以就找到第一次这位。

Sql Server REPLACE函数的使用;SQL中 patindex函数的用法的更多相关文章

  1. SQL SERVER将某一列字段中的某个值替换为其他的值 分类: MSSQL 2014-11-05 13:11 67人阅读 评论(0) 收藏

    SQL SERVER将某一列字段中的某个值替换为其他的值 UPDATE 表名 SET 列名 = REPLACE(列名 ,'贷','袋') SQL SERVER"函数 replace 的参数 ...

  2. sql server replace 的使用方法

    Sql Server REPLACE函数的使用   REPLACE用第三个表达式替换第一个字符串表达式中出现的所有第二个给定字符串表达式. 语法REPLACE ( ''string_replace1' ...

  3. SQL Server 2005 的动态管理视图DMV和函数DMF

    优化 的动态管理视图DMV和函数DMF SQL Server 05提供了动态管理视图Dynamic Management Views和函数 Functions,方便了我们对系统运行情况的监控,故障诊断 ...

  4. c#Winform程序调用app.config文件配置数据库连接字符串 SQL Server文章目录 浅谈SQL Server中统计对于查询的影响 有关索引的DMV SQL Server中的执行引擎入门 【译】表变量和临时表的比较 对于表列数据类型选择的一点思考 SQL Server复制入门(一)----复制简介 操作系统中的进程与线程

    c#Winform程序调用app.config文件配置数据库连接字符串 你新建winform项目的时候,会有一个app.config的配置文件,写在里面的<connectionStrings n ...

  5. SQL Server 2008 错误15023:当前数据库中已存在用户或角色

    解决SQL Server 2008 错误15023:当前数据库中已存在用户或角色,SQLServer2008,错误15023,在使用SQL Server 2008时,我们经常会遇到一个情况:需要把一台 ...

  6. sql server replace的替换字符,replace的使用

    sql server replace的替换字符,replace的使用 select REPLACE(name,'张','') * from entity_5c7a578c05c7042958d9148 ...

  7. 报错:此版本的SQL Server Data Tools与此计算机中安装的数据库运行时组件不兼容

    在Visual Studio 2012中使用Entity Framework,根据模型生成数据库时,报如下错误: 无法在自定义编辑器中打开Transact-SQL文件此版本的SQL Server Da ...

  8. 关于打开现有项目时数据库连接配置遇到的问题 连接字符串中的数据源值指定未安装的SQL Server的实例。要解决此问题,可选择安装匹配的SQL Server实例或修改连接字符串中的数据源值

    最近在看红皮书<ASP.NET MVC 5 高级编程>时,为了更好理解,边看书,边打开源代码查看,在VS(Visual Studio 2015)中将源代码打开,发现数据库连接是关闭的,本想 ...

  9. SQL Server数据库性能优化之SQL语句篇【转】

    SQL Server数据库性能优化之SQL语句篇http://www.blogjava.net/allen-zhe/archive/2010/07/23/326927.html 近期项目需要, 做了一 ...

随机推荐

  1. jq实现某个标签内,达到一定字数后,剩下的用 ... 显示

    $(".infom_con").each(function(){ var text=$(this).find("a").text(); var len=text ...

  2. JS实现会动的小车

    2015-06-05怎么说呢,我想要实现的功能是很简单的,但是过程中,遇到不少问题. 我要实现的功能是页面右侧有辆小车,鼠标滚动或者拉动滚动条,小车消失,在底部点击“返还顶部”按钮后,页面缓慢向上滚动 ...

  3. Javascript脚本应该放在哪里?

    1.<head> <srcipt>在被调用的时候才执行(页面加载前执行)</script> </head> 2. <srcipt>在被调用的 ...

  4. 初学java之事件响应(结合接口来设置在同一个界面上!)

    package wahaha; public class test_1 { public static void main( String args[] ) { WindowActionEvent w ...

  5. webform工程中aspx页面为何不能调用appcode文件夹下的类(ASP.NET特殊文件夹的用法)

    App_code 只有website类型的工程才有效. App_Code 下创建的.cs文件仅仅是“内容”不是代码.你设置那个文件为“编译”就行了. 其他特殊文件夹 1. Bin文件夹 Bin文件夹包 ...

  6. poj3669 Meteor Shower(BFS)

    题目链接:poj3669 Meteor Shower 我只想说这题WA了后去看讨论才发现的坑点,除了要注意原点外,流星范围题目给的是[0,300],到302的位置就绝对安全了... #include& ...

  7. SELECTION-SCREEN 文本丢失

    最近有点无聊....随便找点东西填了... 自从系统上线,经常出现程序的的文本丢失,然后选择界面就变成英文的了....一直在出现,就是解决不了,不知道到底是哪里的问题 严重怀疑是服务器上文件丢失... ...

  8. 46. Permutations——本质和树DFS遍历无异 fun: for i in nums fun(i)

    Given a collection of distinct numbers, return all possible permutations. For example, [1,2,3] have ...

  9. PHP 命名空间加载的理解

    关于spl_autoload_register()和__autoload(),相信大多数都会选择前者了? 看两者的用法: //__autoload用法function __autoload($clas ...

  10. double int char 数据类型

    贴心的limits... 测试代码: #include <iostream> #include <stdio.h> #include <limits> #inclu ...