十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
declare @string varchar(200) --需要统计的字符串
成都创新互联公司主要从事网站设计制作、成都网站制作、网页设计、企业做网站、公司建网站等业务。立足成都服务海州,10年网站建设经验,价格优惠、服务专业,欢迎来电咨询建站服务:13518219792
declare @i int --循环变量
declare @len int --字符串长度
declare @tempstring varchar(10)--临时截取的字符串
declare @cnt int --子串数量
set @string='a bb ccc dddd eeeee ffffff' --定义字符串,如果是取表中字符串,直接select @string=columnname from table
set @i=1 --定义循环变量初始值
set select @len=len(@string)--取得字符串长度
set @tempstring='' --初始化@tempstring变量
set @cnt=1 --初始化子串数量
--一个简单的循环就能实现了
while @i=@len
begin
select @tempstring= substring(@string,@i,1)
if (@tempstring=' ')
begin
set @cnt=@cnt+1
end
set @i=@i+1
select @tempstring,@cnt,@cnt,@i
end
start
指定返回字符的起始位置的整数或 bigint 表达式。
如果 start 小于 1,则返回的表达式的起始位置为
expression 中指定的第一个字符。
在这种情况下,返回的字符数是 start 与 length 的和减去 1 所得的值与 0 这两者中的较大值。
如果 start
大于值表达式中的字符数,将返回一个零长度的表达式。
length
是正整数或指定要返回的 expression 的字符数的
bigint 表达式。
如果 length 是负数,会生成错误并终止语句。
如果 start 与 length 的和大于 expression
中的字符数,则返回起始位置为 start 的整个值表达式。
CHARINDEX(C1,C2[,I])
【功能】在一个字符串中搜索指定的字符,返回发现指定的字符的位置;
【说明】多字节符(汉字、全角符等),按1个字符计算
【参数】C1希望搜索的字符串
C2被搜索的字符串
I 搜索的开始位置,默认为1
【返回值】数值
【实例】
select charindex('c','abcdefgc',4)
1、LEFT() 从左边截
语法:LEFT(character,integer) 返回 从字符串左边开始 指定个数的字符
说明:参数1:要截取的字符串,参数2:截取字符个数
示例:selectLEFT('SqlServer_2008',3)
结果:Sql
2.RIGHT() 从右边截
语法:RIGHT(character,integer) 返回 从字符串右边开始 指定个数的字符
说明:参数1:要截取的字符串,参数2:截取字符个数
示例:selectLEFT('SqlServer_2008',4)
结果:2008
3.SUBSTRING() 中间截
语法:SUBSTRING(character,start,length) 返回从字符串 中间 的字符
说明:参数1:要截取的字符串,参数2:开始截取的位数,参数3:要截取的字符长度
示例:selectSUBSTRING('SqlServer_2008',4,6)--4)
结果:Server
以上。
感谢二位!
不同的数据库,相应的字符串拼接方式不同,通过对比加深一下记忆。
一、MySQL字符串拼接
1、CONCAT函数
语法格式:CONCAT(char c1, char c2, ..., char cn) ,其中char代表字符串,定长与不定长均可以
连接两个字符串
连接多个字符串
2、"+"操作符
连接两个字符串
连接多个字符串
3、假如其中一个字段为NULL,则用结果用空格代替NULL。
二、Oracle字符串拼接
1、CONCAT函数
语法格式:CONCAT(char c1, char c2) ,其中char代表字符串,定长与不定长均可以
连接两个字符串
连接多个字符串
使用CONCAT函数的嵌套实现。
2、"||"操作符
连接两个字符串
连接多个字符串
3、假如其中一个字段为NULL,则用结果用空格代替NULL。
扩展资料
字符串函数(String processing function)也叫字符串处理函数,指的是编程语言中用来进行字符串处理的函数,如C,pascal,Visual以及LotusScript中进行字符串拷贝,计算长度,字符查找等的函数。
字符串主要用于编程,概念说明、函数解释、用法详述见正文,这里补充一点:字符串在存储上类似字符数组,所以它每一位的单个元素都是可以提取的,如s=“abcdefghij”,则s[1]=“a”,s[10]="j"。
而字符串的零位正是它的长度,如s[0]=10(※上述功能Ansistring没有。),这可以给我们提供很多方便,如高精度运算时每一位都可以转化为数字存入数组。
字符串函数的应用
1、连接运算 concat(s1,s2,s3…sn) 相当于s1+s2+s3+…+sn.
例:concat(‘11’,'aa’)='11aa’;
2、求子串。 Copy(s,I,I) 从字符串s中截取第I个字符开始后的长度为l的子串。
例:copy(‘abdag’,2,3)=’bda’
3、删除子串。过程 Delete(s,I,l) 从字符串s中删除第I个字符开始后的长度为l的子串。
例:s:=’abcde’;delete(s,2,3);结果s:=’ae’
4、插入子串。 过程Insert(s1,s2,I) 把s1插入到s2的第I个位置
例:s:=abc;insert(‘12’,s,2);结果s:=’a12bc’
5、求字符串长度 length(s) 例:length(‘12abc’)=5
在ASP中 求字符串长度用 len(s)例: len("abc12")=5
6、搜索子串的位置 pos(s1,s2) 如果s1是s2的子串 ,则返回s1的第一个字符在s2中的位置,若不是子串,则返回0.
例:pos(‘ab’,’12abcd’)=3
7、字符的大写转换。Upcase(ch) 求字符ch的大写体。
例:upcase(‘a’)=’A’
8、数值转换为数串。 过程 Str(x,s) 把数值x化为数串s.
例:str(12345,s); 结果s=’12345’
9、数串转换为数值。 过程val(s,x,I) 把数串s转化为数值x,如果成功则I=0,不成功则I为无效字符的序数,第三个参数也可不传
例:val(‘1234’,x,I);结果 x:=1234
参考资料:百度百科 字符串函数的应用
有啊,charindex函数即可。
如:
select charindex('爱你','我爱你')
查询结果如图:
这个2就表示,爱你在我爱你出现的字符起始位,为第二位。如果反过来
select charindex('我爱你','爱你')
爱你里是不包含我爱你的,所以就显示为0