深入SQL截取字符串(substring与patindex)的详解

首先学习两个函数1.substring  返回字符、binary、text 或 image 表达式的一部分。

基本语法:SUBSTRING ( expression , start , length )

expression:字符串、二进制字符串、text、image、列或包含列的表达式

start:整数,指定子串的开始位置      注:SQL中"1"表示字符串中的第一个字符,而.NET中"0"表示第一个字符

length:整数,指定子串的长度(要返回的字符数或字节数)

2.patindex  返回指定表达式中某模式第一次出现的起始位置;如果在全部有效的文本和字符数据类型中没有找到该模式,则返回零。

基本语法:PATINDEX ( '%pattern%' , expression )

pattern:字符串。可以使用通配符,但 pattern 之前和之后必须有 % 字符(搜索第一个和最后一个字符时除外)。pattern 是短字符数据类型类别的表达式

expression:表达式,通常为要在其中搜索指定模式的列,expression 为字符串数据类型类别

下面结合上面的两个函数,截取字符串中指定的字符

复制代码 代码如下:

declare @a varchar(50)

set @a='2009年7月15日星期五'

select substring(@a,1,4) --获取年份2009

declare @b int

set @b=patindex('%日%',@a) --获取'日'这个字符在字符串中的位置,即10

select substring(@a,6,@b-5) --获取日期'7月15日'

时间: 2013-06-02

substr(string ,1,3) 函数解读:取string 中重左往右取3字长的字符串. 结果为:str 从右往左呢? 应该有另一个函数来提供这样的功能吧! 事实上,从右往左也是这个函数 只是参数的不同而已. substr(String,-1,3) 功能解读:取string中右边1位开始取3位. 结果为:g substr(string,start,length) string - 指定的要截取的字符串. start - 必需,规定在字符串的何处开始.正数 - 在字符串的指定位置开始,负数

在操作sqlserver时候用到了substring函数 SUBSTRING ( expression, start, length ) 参数 expression 字符串.二进制字符串.文本.图像.列或包含列的表达式.请勿使用包含聚合函数的表达式. start 整数或可以隐式转换为 int 的表达式,指定子字符串的开始位置. length 整数或可以隐式转换为 int 的表达式,指定子字符串的长度(但是结果并补一个返回length字符长度,要看expression的长度和start的设置!!!

感觉上MySQL的字符串函数截取字符,比用程序截取(如PHP或JAVA)来得强大,所以在这里做一个记录,希望对大家有用. 函数: 1.从左开始截取字符串 left(str, length) 说明:left(被截取字段,截取长度) 例:select left(content,200) as abstract from my_content_t 2.从右开始截取字符串 right(str, length) 说明:right(被截取字段,截取长度) 例:select right(content,200

SUBSTR函数是用来截取数据库某一列字段中的一部分. 在各个数据库的函数名称不一样(真是蛋疼,后发明的数据库难道不能同先发明的一样吗?) 复制代码 代码如下: MySQL: SUBSTR( ), SUBSTRING( ) Oracle: SUBSTR( ) SQL Server: SUBSTRING( ) ; 常用的方式是: SBUSTR(str,pos); 就是从pos开始的位置,一直截取到最后. 还有一种比较常用的是: 复制代码 代码如下: SUBSTR(str,pos,len); 这种表

功能:返回字符.二进制.文本或图像表达式的一部分 语法:SUBSTRING ( expression, start, length ) SQL 中的 substring 函数是用来抓出一个栏位资料中的其中一部分.这个函数的名称在不同的资料库中不完全一样: 参数: expression 字符串.二进制字符串.文本.图像.列或包含列的表达式.请勿使用包含聚合函数的表达式. start 整数或可以隐式转换为 int 的表达式,指定子字符串的开始位置. length 整数或可以隐式转换为 int 的表达

截取的字符串为15,151,152,16',可以看作是ip吧(虽然这里指的不是iP), 然后要截取每个逗号之前那部分 以下的意思是:在字符串中以逗号为索引,获取不同索引位的字符 结果如下: SELECT SUBSTRING_INDEX('15,151,152,16',',',1); ==>得到结果为: 15 SELECT SUBSTRING_INDEX(SUBSTRING_INDEX('15,151,152,16',',',2),',',-1);==>得到结果为: 151 SELECT SUB

本文实例讲述了php截取中文字符串函数.分享给大家供大家参考.具体实现方法如下: 复制代码 代码如下: <?php //中文字符串截取 function substr_zh($string,$sublen,$start=0,$code='UTF-8'){  if($code=='UTF-8'){   $pa = "/[\x01-\x7f]|[\xc2-\xdf][\x80-\xbf]|\xe0[\xa0-\xbf][\x80-\xbf]|[\xe1-\xef][\x80-\xbf][\x8

本文实例讲述了Python正则替换字符串函数re.sub用法.分享给大家供大家参考,具体如下: python re.sub属于python正则的标准库,主要是的功能是用正则匹配要替换的字符串 然后把它替换成自己想要的字符串的方法 re.sub 函数进行以正则表达式为基础的替换工作 下面是一段示例源码 #!/usr/bin/env python #encoding: utf-8 import re url = 'https://113.215.20.136:9011/113.215.6.77/c3

在项目开发中,我们常常会遇到英文.中文等字符串截取问题,比如说新闻列表页面需要新闻内容简介,这就要用到字符串截取了. 下面就为大家分享一个THINKPHP中已经准备好的字符串截取函数. # 函数解释: msubstr($str, $start=0, $length, $charset="utf-8″, $suffix=true) /* $str:要截取的字符串 $start=0:开始位置,默认从0开始 $length:截取长度 $charset="utf-8″:字符编码,默认UTF-8

字符串操作在程序设计中是非常重要的组成部分,而MySQL数据库中的字符串操作却相当简单 需要注意的是:下面所有的函数只是将修改后的结果当查询返回,均不对原数据做出改变 选出指定数量字符 复制代码 代码如下: mysql> SELECT RIGHT('nihao',3);+------------------+| RIGHT('nihao',3) |+------------------+| hao              |+------------------+ row in set (0.

smarty truncate 截取字符串从字符串开始处截取某长度的字符,默认的长度为80指定第二个参数作为截取字符串的长度默认情况下,smarty会截取到一个词的末尾,如果需要精确到截取多少个字符可以使用第三个参数,将其设为"true"具体用法如下: 复制代码 代码如下: //index.php $smarty = new Smarty; $smarty->assign('articleTitle', 'Two Sisters Reunite after Eighteen Ye

ASP中Split函数的用法 分割截取字符串看几个例子就能理解了 复制代码 代码如下: mystr="1,2,3,4,5" mystr=split(mystr,",") for i=0 to ubound(mystr) response.write mystr(i) next  '返回值为123456 mystr="xlei.net/http/student/x/index.asp" mystr=split(mystr,"/http/s

String str;str=str.substring(int beginIndex);截取掉str从首字母起长度为beginIndex的字符串,将剩余字符串赋值给str: str=str.substring(int beginIndex,int endIndex);截取str中从beginIndex开始至endIndex结束时的字符串,并将其赋值给str; demo: 复制代码 代码如下: class Test { public static void main(String[] args)

复制代码 代码如下: set global log_bin_trust_function_creators = 1; DROP FUNCTION IF EXISTS rand_string; DELIMITER $$ CREATE FUNCTION rand_string(n INT) RETURNS VARCHAR(255) BEGIN     DECLARE chars_str varchar(100) DEFAULT 'abcdefghijklmnopqrstuvwxyzABCDEFGHI

通常以串的整体作为操作对象,如:在串中查找某个子串.求取一个子串.在串的某个位置上插入一个子串以及删除一个子串等.两个字符串相等的充要 条件是:长度相等,并且各个对应位置上的字符都相等.设p.q是两个串,求q在p中首次出现的位置的运算叫做模式匹配.串的两种最基本的存储方式是顺序存 储方式和链接存储方式. 下面我们来看看MySQL中的字符串函数 假如结果的长度大于 max_allowed_packet 系统变量的最大值时,字符串值函数的返回值为NULL. 对于在字符串位置操作的函数,第一个位置的编

mysql sql patindex_深入SQL截取字符串(substring与patindex)的详解相关推荐

  1. SQL截取字符串(substring与patindex的使用)

    SQL截取字符串(substring与patindex的使用) 首先学习两个函数 1.substring  返回字符.binary.text 或 image 表达式的一部分.       基本语法:S ...

  2. JS截取字符串的三种方法详解

    本文详细讲解了JS截取字符串的三种方法,文中通过示例代码介绍的非常详细.对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下 JS提供三个截取字符串的方法,分别是:slice(),subst ...

  3. Java,SQL 截取字符串substring

    一.Java截取字符串 substring 1.方法一: public String substring(int beginIndex, int endIndex) 该方法用于截取字符串中,从begi ...

  4. freemarker截取字符串subString()

    freemarker截取字符串subString()的二种用法 freemarker截取字符串其实和JAVA语法是差不多了,也有substring 方法 如代码: <#assign conten ...

  5. MYSQL数据库连接字符串(connectionString)配置参数大全详解

    请参考原文:MYSQL数据库连接字符串(connectionString)配置参数大全详解

  6. 2008系统无法启动服务器不可用,SQL Sever2008r2 数据库服务各种无法启动问题的解决办法(详解)...

    搜索热词 一.sql Server服务远程过程调用失败解决 以前出现过这个问题,那时候是因为把实例安装在了D盘,后来D盘被格式化了.然后,这些就没了.今天早上打开电脑,竟然又出现这个问题,可是Serv ...

  7. MySQL高可用方案-PXC(Percona XtraDB Cluster)环境部署详解

    MySQL高可用方案-PXC(Percona XtraDB Cluster)环境部署详解 Percona XtraDB Cluster简称PXC.Percona Xtradb Cluster的实现是在 ...

  8. python字符串_Python字符串格式化%s%d%f详解

    关于讨论输出格式化的问题,小编不是一时兴起,之前学习python的时候就经常遇到输出时"%d",一直没有仔细学习,今天又看到了,下面分享一个简单实例,python输出99乘法表: ...

  9. python 字符串格式化%s_Python字符串格式化%s%d%f详解

    关于讨论输出格式化的问题,小编不是一时兴起,之前学习python的时候就经常遇到输出时"%d",一直没有仔细学习,今天又看到了,下面分享一个简单实例,python输出99乘法表: ...

  10. python字符串format方法参数解释,一文秒懂!Python字符串格式化之format方法详解

    一文秒懂!Python字符串格式化之format方法详解 一文秒懂!Python字符串格式化之format方法详解 format是字符串内嵌的一个方法,用于格式化字符串.以大括号{}来标明被替换的字符 ...

最新文章

  1. python实现数据库查询_通过Python实现mysql查询数据库实例
  2. VS2019遇到的坑——C4716
  3. VC2005从开发MFC ActiveX ocx控件到发布到.net网站的全部过程
  4. Mysql Binlog三种格式详细介绍
  5. 第一个Android项目
  6. 反射是最重要的Java API
  7. 发生身份验证错误_Python MySQL8.0 错误
  8. Android NDK开发篇(四):Java与原生代码通信(原生方法声明与定义与数据类型)
  9. 在输入文本框中获取值
  10. 微信公众号的图片引用
  11. matlab资产配置,FOF投资的量化分析:资产配置模型
  12. 工具答疑---beyond compar文件无法编辑
  13. Windows 7无法启用网络发现的处理办法
  14. zz 一个Hash实例:Blizzard的MPQ文件
  15. 局域网的主要特点是什么?为什么局域网采用广播通信方式而广域网不采用呢?
  16. 如何获取iPhone 各机型以及系统的状态栏高度进行适配
  17. java实现手写签名_手写签字,保存笔迹到图片
  18. 一个程序员的陪产经历--写在宝宝百日之际
  19. elementui表格宽度适应内容_解决elementui表格操作列自适应列宽
  20. kotlin面向对象之抽象类、继承、多态

热门文章

  1. 微信公众号申请access_token报错appID无效
  2. java版超级玛丽游戏
  3. 大道至简:软件工程实践者的思想(读后感想)
  4. ssb的有效性最好_在AM、DSB、SSB、VSB四个通信系统中,有效性最好的通信系统()。...
  5. html制作钢铁侠心脏,钢铁侠的“心脏”并不是特效,得知如何制成的,网友:难以置信...
  6. outlook登陆Exchange邮箱不断掉线并弹出需要登陆的窗口
  7. C++中如何读取一个数的位数_R语言入门之切尾均值(trimmed mean)和绝对中位差(mad)...
  8. 亲自动手从源码 构建 Groovy 2.3.8 发布包
  9. 在VR里弹空气吉他?开发者:手势优化有技巧
  10. 程序媛必备之日常BGM