SqlServer 函数规整(Datalength与len,Patindex,stuff,replicate,left,right)
来源:互联网 发布:淘宝打折工具 编辑:程序博客网 时间:2024/06/05 05:27
这次的程序涉及到获取数据库中最大单号,又是按类别划分的,需要对传入参数进行截取操作,搜索发现sqlserver 提供的函数好是强大,在写程序过程中用到以下几个DataLength 与len ,Patindex,stuff,replicate,left,right;
以前经常只是用到len 这个函数,知道是获取字符串长度,偶然看到DataLength 也是获取字符串长度,好奇心驱使吧,就查了一下
下面看一下官方解释:
DataLength 返回用于表示任何表达式的字节数,Null 的 DataLength 的结果是NULL.
len 返回字符表达式中的字符数,如果字符串中包含前导空格和尾随空格,则函数会将它们包含在计数内。len 对相同的单字节和双字节字符串返回相同的值。如果传递给 LEN 函数的参数包含二进制大型对象块 (BLOB) 数据类型,如 DT_TEXT、DT_NTEXT 或 DT_IMAGE,则该函数将返回字节计数;
如果参数为空,LEN 将返回空结果。
下面上自己测试的例子(ABC 后面均有三个空格用-表示)
数据类型
Nvarchar(10)
Varchar(10)
Char(10)
Text
Int
Decimal(18,0)
Nchar(10)
datetime
字段内容
ABC---
A B C ---
ABC---
ABC---
1230
1230
A BC---
2013-01-01 12:05:00.000
DataLength
20
8
10
7
4
5
20
8
len
3
5
3
不支持
4
4
4
18
Patindex 官方解释:
返回指定表达式中某模式第一次出现的起始位置;如果在全部有效的文本和字符数据类型中没有找到该模式,则返回零;
其实说白了就是查找某字串第一次出现的位置,比较有内涵的是应用
第一块:参数,就是通配符的使用问题(人工操作);
第二块:返回所在位置(系统操作)
“_”号表示任意单个字符,该符号只能匹配一个字符"_"可以放在查询条件的任意位置,且只能代表一个字符.一个汉字只能使用一个“_”表示
“%”符号是字符匹配符,能匹配0个或更多字符的任意长度的字符串
"[]"在模式查询中可以利用"[]"来实现查询,一定范围的数据。[]用于指定一定范围内的任何单个字符,包括两端数据;
"[^]"用来查询不属于指定范围([a-f])或集合(abcdef])的任何单个字符.
stuff 官方解释:函数将字符串插入另一个字符串,它在第一字符串中从开始位置删除指定长度的字符,然后将第二个字符串插入到第一个字符串的开始位置;
语法:STUFF ( character_expression 1,start , length ,character_expression 2)
其实顾名思义就是从character_expression 1中start 位置开始删除length 个字符,然后再start位置插入character_expression 2这个字符串;
应用 :select stuff("abcdefg",2,3,"xyz") from A 输出结果为: 'axyzefg' 记住索引位置是从1开始的
replicate 官方解释:以指定的次数重复字符串值;
语法: REPLICATE ( string_expression ,integer_expression)
顾名思义就是把string-expression 这个字串重复integer_expression 次后呈现,若integer_expression 为负数,则返回Null 值
应用:select Replicate(‘A’,4) +'SS' from A 输出结果为:’AAAASS‘ 其实跟c#中PadLeft,PadRight 有点相似
left 官方解释:返回字符串从左边开始指定个数的字符;
语法:left(character_expression,integer_expression)
顾名思义就是把character_expression字串从左侧开始截取integer_expression长度后返回;
应用:SELECT LEFT('abcdefg',2) 输出结果为:‘ab’;
right 与left 同理,不同点在于right 是从右边开始截取的!!
- SqlServer 函数规整(Datalength与len,Patindex,stuff,replicate,left,right)
- SQLSERVER-DATALENGTH-LEN
- LEN() 与 DATALENGTH()
- SQLServer中DataLength()和Len()两内置函数的区别
- STUFF()与PATINDEX()函数的用法~~
- patindex与stuff函数之用法
- 支持中文的Len, Left, Right函数
- SQLServer函数 left()、charindex()、stuff()的使用
- SQLServer函数 left()、charindex()、stuff()的使用
- SQLServer函数 left()、charindex()、stuff()的使用
- SQLServer函数left()、charindex()、stuff()的使用
- sqlserver使用 left()、charindex()、stuff()函数
- SQL 标量函数-----> 字符串函数 之四 字符串比较函数 CHARINDEX()、PATINDEX()、REPLICATE()、REVERSE()、REPLACE()、SPACE()、STUFF()
- SQL中LEN ()与DATALENGTH ()
- Sql server的left, right, charindex, patindex 函数应用
- sql stuff和patindex函数
- LEFT()与RIGHT()函数
- LEFT()与RIGHT()函数
- C语言学习大纲--typedef的使用
- C#中的委托和事件(续)
- 如何提高团队协作的效率
- Android中对Log日志文件的分析
- asp.net从数据库导出数据到word、excel、txt文本文件
- SqlServer 函数规整(Datalength与len,Patindex,stuff,replicate,left,right)
- LeetCode 19: Remove Nth Node From End of List
- 20到30岁,我拿十年做什么
- java中synchronized的用法
- C#编写简单的聊天程序
- 希尔顿饭店首任经理的传奇故事
- C指针常量和常量指针
- sqlite3中的数据类型
- 试设计一个算法,将数组A(0..n-1)中的元素循环右移k位,并要求空间复杂度为O(1),时间复杂度为O(n)。