SQLServer系统函数之字符串函数
一.字符串函数
参数character_expression:由字符数据组成的字母数字表达式,可以是常量或变量,也可以是字符列或二进制数据列
参数integer_expression:是正整数,如果 integer_expression 为负,则返回空字符串
1.SubString():截取指定的字符串
--substring(character_expression,integer_experssion,integer_expression)
--character_expression: 表达式(varchar、nvarchar、char、text、ntext、varbinary、image)
--integer_experssion:开始位置(bigint)
--integer_expression 长度(bigint)不能为负数
--返回字符表达式、二进制表达式、文本表达式或者图像表达式的一部分(varchar、nvarchar、char、text、ntext、varbinary、image)
--简而言之:substring(字符串,开始位置,截取长度)
select substring('Hello',1,4) --返回Hell
select StuName,substring(StuName,1,2) as '姓名的前两位' from Student
2.Replace ():替换字符串
--replace(character_expression,searchstring,replacementstring)
--character_expression:是函数要搜索的有效字符表达式(varchar,nvarchar)
--character_expression:是函数尝试定位的有效字符表达式(varchar,nvarchar)
--replacementstring:是用作替换表达式的有效字符表达式(varchar,nvarchar)
--返回用第三个表达式替换第一个表达式中出现的所有第二个表达式
--简而言之:replace(字符串,需要被替换的字符串,替换成的字符串)
select replace('MingRMRM','RM','Ri') --返回MingRiRi
select replace('','','') --返回2234
3.Left():取左边指定个数的字符
--left(character_expression,integer_expression)
--character_expression:字符串或者二进制数据表达式(varchar,nvarchar)
--integer_expression:指定character_expression将返回的字符数,不能为负数(int)
--返回字符表达式中最左侧指定数目的字符
--简而言之:left(字符串,指定最左侧返回的数目)
select left('中华有为',2) --返回中华
select left(StuName,1) from Student --返回姓名的第一个字
4.Right():取右边指定个数的字符
--right(character_expression,integer_expression)
--character_expression:字符串或者二进制数据表达式(varchar,nvarchar)
--integer_expression:指定character_expression将返回的字符数,不能为负数(int)
--返回字符表达式中最右侧指定数目的字符
--简而言之:right(字符串,指定最右侧返回的数目)
select right('中华有为',2) --返回有为
select right(StuName,1) from Student --返回姓名的最后一个字
5.ASCII():获取ASCII码
--ASCII(character_expression)
--character_expression:char或者varchar类型的表达式(char、varchar)
--返回字符表达式中最左侧的字符的ASCII代码
--返回类型:int
--注意:ASCII码共127个,其中8、9、10、13分别转换为退格、制表、换行和回车字符
select ASCII('A') --返回ASCII码65 按键A
select ASCII(' ') --返回ASCII码32 按键[space] 空格键
6.Char():转换成字符
--char(integer_expression)
--将整数ASCII代码转换成字符串
select char(65) --返回A
select char(32) --返回空格
7.CharIndex():返回字符串起始位置
--charindex(character_expression1,character_expression2,[,start_location])
--character_expression1:包含要查找的序列的字符串表达式
--character_expression2:要搜索的字符表达式
--start_location:开始位置,如果未指定则将expression2的开头搜索
--返回字符串中指定表达式的起始位置
--[]里面的内容说明可以省略,缺省情况下,说明用‘[]’引用
select charindex('为','中华有为')--返回4
select charindex('为','中华有为',5) --返回0 搜索字符串的位置值有4位
select charindex('为','中华有为',2)--返回4 返回的是字符串所在搜索字符串的位置
8.PatIndex()返回表达式模式的字符串的起始位置
--patindex(character_expression1,characterexpression2)
--character_expression1:搜索模式文字
--character_expression2:要搜索的表达式
-- 精确匹配,完全匹配1,不完全匹配0
--模糊匹配,返回从第几位开始匹配
--返回指定表达式模式的第一次出现的开始位置
select patindex('%a%','123456a') --返回6 模糊匹配
select patindex('a','123456a') --返回0 精确匹配
9.Len():返回字符个数
--len(character_expression)
--character_expression:表示要处理的表达式(varchar、nvarchar)
--返回字符表达式中的字符数(int)
select len('abcd')--返回4
select len(12345)--返回5
10.Stuff():在一个字符串中,删除指定长度的字符,并在该位置插入一个新的字符串
--stuff(character_expression,bigint_expression1,bigint_expression2,character_expression1)
--character_expression:要搜索的表达式(varchar、nvarchar、varbinary)
--integer_expression1:开始位置
--integer_expression2:字符数
--character_expression1:替换的表达式
select stuff('abcdefg',3,2,'aa') --返回abaaefg
11.Difference():SOUNDEX值之差
--difference ( character_expression , character_expression )
--character_expression:类型 char 或 varchar 的表达式
--以整数返回两个字符表达式的SOUNDEX值之差,返回的值从 0 到 4 不等,4 表示 SOUNDEX 值相同
--返回类型:int
SELECT DIFFERENCE('Test', 'Test') --
12.Soundex():由四个字符表示的soundex代码
--soundex(character_expression)
--返回由四个字符表示的soundex代码
select soundex('abcd') --返回A120
13.Lower():大写字母转小写字母
--lower(character_expression)
--character_expression:字符串或者二进制数据表达式(varchar、nvarchar)
--返回将大写字符转换为小写字符的字符表达式
select lower('ABCD') --返回abcd
select lower('张San') --返回张san
14.Upper():小写字母转大写字母
--upper(character_expression)
--character_expression:字符串或者二进制数据表达式(varchar、nvarchar)
--返回将小写字符转换为大写字符的字符表达式
select upper('abcd') --返回ABCD
select upper('张San') --返回张SAN
15.Ltrim():清除左边字符的空格
--ltrim(character_expression)
--character_expression(varchar、nvarchar)
--返回删除了前导空格之后的字符表达式
select ltrim(' Test Test ') --返回Test Test
16.Rtrim():清除右边字符的空格
--rtrim(character_expression)
--character_expression(varchar、nvarchar)
--返回截断了所有尾随空格之后的字符表达式
select rtrim(' TestTest ') --返回 TestTest
17.Nchar():给定的整数代码的Unicode字符
--nchar(integer_expression)
--integer_expression(int)
--返回具有给定的整数代码的Unicode字符
--Unicode:统一码、万国码、单一码
select nchar(100) --返回d
18.Quotename():返回带有分隔符的 Unicode 字符串,主要作用就是在SQL语句中,给列名、表名等加个[]、’’
--quotename(character_expression,[,character_expression1])
--character_expression,unicode字符数据构成的字符串,character_expression是sysname值
--character_expression1:引号字符,如果未指定则使用方括号作为分隔符([ ])
--quotename()的主要作用就是在存储过程中,给列名、表名等加个[]、’’等以保证sql语句能正常执行
select quotename('stuname','''') --返回'stuname'
select quotename('student')--返回[student]
19.Replicate():按指定次数重复字符表达式
--replicate(character_expression ,integer_expression)
--character_expression:需要复制的表达式
--integer_expression:复制次数
select replicate('abcd',3) --返回abcdabcdabcd
20.Reverse():返回字符表达式的逆向表达式
--reverse(character_expression)
--返回字符表达式的逆向表达式
select reverse('abcd') --返回dcba
21.Space():返回由重复空格组成的字符串
--space(integer_expression)
--返回由重复空格组成的字符串
--返回类型:char
select space(2)--返回2个空格
22.Str():将数值表达式转换字符表达式
--str(float_expression[,length[,demical_expression]])
--length:是总长度,包括小数点、符号、数字或空格。默认值为 10
--demical_expression:小数点右边的位数
--返回从数值表达式转换而来的字符表达式
--返回类型:char
select str(23.35,8,3) --返回 23.350
select len(str(23.35,8,3)) --返回8
23.UniCode():表达式第一个字符Unicode的整数值
--unicode(character_expression)
--character_expression:需要转换的表达式
--返回表达式第一个字符Unicode的整数值
select unicode('abcd') --返回97
24.String_Split():分隔字符串,返回表,列名为value
--string_split(character_expresstion1,character_expresstion2)
--character_expresstion1:需要分隔的字符串
--character_expresstion2:分隔符
--返回子字符串的单列的表(table) 该列名为“value”
select value from string_split('jsp-asp','-')
SQLServer系统函数之字符串函数的更多相关文章
- SQL Server系统函数:字符串函数
原文:SQL Server系统函数:字符串函数 1.字符转化为ASCII,把ASCII转化为字符,注意返回的值是十进制数 select ASCII('A'),ASCII('B'),ASCII('a') ...
- ORACLE常用数值函数、转换函数、字符串函数介绍
ORACLE常用数值函数.转换函数.字符串函数介绍. 数值函数: abs(m) m的绝对值 mod(m,n) m被n除后的余数 power(m,n) m的n次方 round(m[,n]) m四舍五入至 ...
- SQL serve 聚合函数、字符串函数
1.聚合函数 sum,avg,max,min,count having后面只能跟聚合函数 2.数学函数和字符串函数 3.练习: 1)新建一个学生信息表,根据问题写出程序. 2)新建一个超 ...
- SQL函数大全(字符串函数).
SQL Server 2005 函数大全 字符串函数 字符串函数 SubString在SQL和C#中不同, 一,select substring('abcde',-1,3) select LEN( ...
- SQL server聚合函数、数学函数、字符串函数
一.基础语句 二.数学函数与字符串函数 三.练习 1.创建一个学生信息表,根据要求写出程序 2.新建一个超市表,进了十种商品,个数都是十件
- SQL server 数据库——数学函数、字符串函数、转换函数、时间日期函数
数学函数.字符串函数.转换函数.时间日期函数 1.数学函数 ceiling()--取上限 select ceiling(oil) as 油耗上限 from car floor()--取下限 sele ...
- SQLSERVER常见系统函数之字符串函数(一)
好久没有写博客了,这段时间准备写一下字符串函数 QQ群: 499092562:欢迎交流 字符串函数: 1.LEN(需要获取长度的字符串) 返回:字符串的长度 示例: SELECT LEN('小搬运工很 ...
- mssql 系统函数-字符串函数专题--字符串函数大全
mssql 系统函数 字符串函数 substring 功能简介 mssql 系统函数 字符串函数 stuff 功能简介 mssql 系统函数 字符串函数 str 功能简介 mssql 系统函数 字符串 ...
- Oracle内置函数:时间函数,转换函数,字符串函数,数值函数,替换函数
dual单行单列的隐藏表,看不见 但是可以用,经常用来调内置函数.不用新建表 时间函数 sysdate 系统当前时间 add_months 作用:对日期的月份进行加减 写法:add_months(日期 ...
随机推荐
- laravel 验证码手机与提交手机的验证?
假如我用自己的手机号码获得了验证码,然后在点击提交之前,更换了手机号一栏的input,用一个比如18888888888的手机号进行注册,用之前得到的验证码,是不是会出现注册成功的情况?是否应该考虑验证 ...
- 无旋treap hfq-treap
怎么代码都这么长... #include<iostream> #include<stdio.h> #include<string.h> #include<al ...
- linux自动挂载NTFS格式移动硬盘
转自:http://blog.163.com/cmh_lj/blog/static/100812304201252522119264/ 由于移动硬盘还有不少的资料,刚插入移动硬盘的时候发现只能自动挂载 ...
- 2012-4-2 通过MdiParent设置窗体最前
SentenceForm form = new SentenceForm(); form.MdiParent = this; form.Show(); //form.MdiParent = this; ...
- hdu 1217 Arbitrage(佛洛依德)
Arbitrage Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total S ...
- 在对文件进行随机读写,RandomAccessFile类,如何提高其效率
花1K内存实现高效I/O的RandomAccessFile类 JAVA的文件随机存取类(RandomAccessFile)的I/O效率较低.通过分析其中原因,提出解决方案.逐步展示如何创建具备缓存读写 ...
- kindeditor编辑器微软雅黑样式font-family值变成"
http://www.100cm.cn/article-126-764.html kindeditor编辑器中选中文字, 修改字体(字体名称中带有空格, 例如"Microsoft YaHei ...
- [转载] 使用StAX解析xml
StAX 概述 从一开始,Java API for XML Processing (JAXP) 就提供了两种方法来处理 XML:文档对象模型(DOM)方法是用标准的对象模型表示 XML 文档:Simp ...
- 2018-2-25-git-rebase-合并多个提交
title author date CreateTime categories git rebase 合并多个提交 lindexi 2018-02-25 11:41:26 +0800 2018-2-1 ...
- 第一章 区块链系列 联盟链FISCO BCOS 底层搭建
想了解相关区块链开发,技术提问,请加QQ群:538327407 FISCO BCOS 基础安装教程:https://fisco-bcos-documentation.readthedocs.io/zh ...