Sql Server substring(expression, start, length)函数

Syntax for SUBSTRING:
SUBSTRING(expression, start, length)

expression
        字符串、二进制字符串、文本、图像、列或包含列的表达式。请勿使用包含聚合函数的表达式。
start
        整数或可以隐式转换为int 的表达式,指定子字符串的开始位置。
length

        整数或可以隐式转换为 int 的表达式,指定子字符串的长度。

例子:

1、起始位置为0,截取长度为3

select substring(DWMC,0,3) as Sub,DWMC as DWMC from DW where DWNM='00010010'

结果:

2、起始位置为1,截取长度为3

select substring(DWMC,1,3) as Sub,DWMC as DWMC from DW where DWNM='00010010'

结果:

3、起始位置为-1,截取长度为3

select substring(DWMC,-1,3) as Sub,DWMC as DWMC from DW where DWNM='00010010'

结果:


4、起始位置为-2,截取长度为3

select substring(DWMC,-2,3) as Sub,DWMC as DWMC from DW where DWNM='00010010'

结果:

5、起始位置为-9,截取长度为3

select substring(DWMC,-9,3) as Sub,DWMC as DWMC from DW where DWNM='00010010'

结果:


        通过上面的例子,可以看出substring的截取,类似于X坐标上截取绝对长度,而对于字符串而言,负数及零的位置都是空,真正有数的位置是从1开始的!

时间: 2024-10-06 03:16:15

Sql Server substring(expression, start, length)函数的相关文章

Sql Server的substring(expression, start, length)函数

Syntax for SUBSTRING: SUBSTRING(expression, start, length) expression 字符串.二进制字符串.文本.图像.列或包含列的表达式.请勿使用包含聚合函数的表达式. start 整数或可以隐式转换为int 的表达式,指定子字符串的开始位置. length 整数或可以隐式转换为 int 的表达式,指定子字符串的长度. 例子: 1.起始位置为0,截取长度为3 select substring(DWMC,0,3) as Sub,DWMC as

在SQL Server数据库中拆分字符串函数

SQL Server数据库中拆分字符串函数的具体方法: CREATE FUNCTION uf_StrSplit '1.1.2.50','.' (@origStr varchar(7000), --待拆分的字符串 @markStr varchar(100)) --拆分 标记,如',' RETURNS @splittable table ( str_id varchar(4000) NOT NULL, --编号ID string varchar(2000) NOT NULL --拆分后的字符串 )

SqlServersubstring(expression,start,length)函数

  1 2 Syntax for SUBSTRING:  SUBSTRING(expression, start, length) expression 字符串.二进制字符串.文本.图像.列或包含列的表达式.请勿使用包含聚合函数的表达式. start 整数或可以隐式转换为int 的表达式,指定子字符串的开始位置. length 整数或可以隐式转换为 int 的表达式,指定子字符串的长度. 例子: 1.起始位置为0,截取长度为3 ? 1 select substring(DWMC,0,3) as

SQL Server如何定位自定义标量函数被那个SQL调用次数最多浅析

前阵子遇到一个很是棘手的问题,监控系统DPA发现某个自定义标量函数被调用的次数非常高,高到一个离谱的程度.然后在Troubleshooting这个问题的时候,确实遇到了一些问题让我很是纠结,下文是解决问题过程的一点思索和尝试,如果你有更好的思路和解决方法,也请多多指教.   DPA可以监控到该函数每小时被调用的次数,如下截图所示:     那么第一个问题来了. DPA如何监控获取这个函数每小时执行多少次呢? 其实这个很简单, sys.dm_exec_query_stats视图里面有个字段exec

SQL SERVER中用户定义标量函数(scalar user defined function)的性能问题

用户定义函数(UDF)分类       SQL SERVER中的用户定义函数(User Defined Functions 简称UDF)分为标量函数(Scalar-Valued Function)和表值函数(Table-Valued Function).其中表值函数又分为Inline table-valued functions和Multistatement table-valued functions.     用户定义函数(UDF)在 SQL Server 中发挥重要的作用.用户定义函数可以

SQL Server利用RowNumber()内置函数与Over关键字实现通用分页存储过程(支持单表或多表结查集分页)

原文:SQL Server利用RowNumber()内置函数与Over关键字实现通用分页存储过程(支持单表或多表结查集分页) SQL Server利用RowNumber()内置函数与Over关键字实现通用分页存储过程,支持单表或多表结查集分页,存储过程如下: /******************/ --Author:梦在旅途(www.Zuowenjun.cn) --CreateDate:2015-06-02 --Function:分页获取数据 /******************/ crea

Sql Server实现自定义拆分字符串函数Split()

经常我们要用到批量操作时都会用到字符串的拆分,郁闷的是SQL Server中却没有自带Split函数,所以我们只能自己动手来解决一下.为了减少和数据库的通讯次数,我们都会利用这种方法来实现批量操作.当然有时我们会借助Execute这个方法来实现,利用这个方法有一个不好的地方就是她只认识以","分割的字符串,在传IDs批量操作的时候还是可以达到目的,但是经常我们要用到更复杂的操作时我们就需要自己动手来完成了...... 1.当我们需要传入很长的字符串是我们可以借助NText和Text类型

在 SQL Server 2005 中使用表值函数来实现空间数据库

server|函数|数据|数据库 Gyorgy Fekete 和 Alex Szalay约翰霍普金丝大学 Jim GrayMicrosoft(联系作者) 适用于Microsoft SQL Server 2005 摘要:本文说明了如何使用 C# 和表值函数将空间搜索函数("邻近点的点"和"多边形内的点")添加到 Microsoft SQL Server 2005.使用此库可以在不编写任何特殊代码的情况下向应用程序中添加空间搜索.此库实现了来自约翰霍普金丝大学的公共域

【转】SQL Server 的三种自定义函数(用户定义的函数)

原文链接:http://www.cftea.com/c/2007/08/6HLN4P3VBKA1W2EA.asp   "自定义函数"是我们平常的说法,而"用户定义的函数"是 SQL Server 中书面的说法. SQL Server 2000 允许用户创建自定义函数,自定义函数可以有返回值. 自定义函数分为:标量值函数或表值函数 如果 RETURNS 子句指定一种标量数据类型,则函数为标量值函数.可以使用多条 Transact-SQL 语句定义标量值函数. 如果 R