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)_expression 长度(bigint)不能为负数 --返回字符表达式、二进制表达式、文本表达式或者图像表达式的一部分(varchar、nvarchar、char、text、ntext、varbinary、image) --简而言之:substring(字符串,开始位置,截取长度) select substring('Hello',1,1); font-weight: bold">4) 返回Hell select StuName,substring(StuName,1); font-weight: bold">2) as 姓名的前两位' from Student 2.Replace ():替换字符串? replace(character_expression,searchstring,replacementstring)character_expression:是函数要搜索的有效字符表达式(varchar,nvarchar) --character_expression:是函数尝试定位的有效字符表达式(varchar,1)">replacementstring:是用作替换表达式的有效字符表达式(varchar,1)">返回用第三个表达式替换第一个表达式中出现的所有第二个表达式 --简而言之:replace(字符串,需要被替换的字符串,替换成的字符串) replace(MingRMRMRMRi') 返回MingRiRi 123412返回2234? 3.Left():取左边指定个数的字符 left(character_expression,1)">character_expression:字符串或者二进制数据表达式(varchar,1)">integer_expression:指定character_expression将返回的字符数,不能为负数(int)返回字符表达式中最左侧指定数目的字符 --简而言之:left(字符串,指定最左侧返回的数目) select left(中华有为返回中华 left(StuName,1); font-weight: bold">1) from Student 返回姓名的第一个字 4.Right():取右边指定个数的字符 right(character_expression,1)">返回字符表达式中最右侧指定数目的字符简而言之:right(字符串,指定最右侧返回的数目) right(返回有为 right(StuName,1)">返回姓名的最后一个字 5.ASCII():获取ASCII码 ASCII(character_expression)character_expression:char或者varchar类型的表达式(char、varchar)返回字符表达式中最左侧的字符的ASCII代码返回类型:int注意:ASCII码共127个,其中8、9、10、13分别转换为退格、制表、换行和回车字符 ASCII(A返回ASCII码65 按键A ' 返回ASCII码32 按键[space] 空格键 6.Char():转换成字符 char(integer_expression)将整数ASCII代码转换成字符串 select char(65) 返回A 32) 返回空格 7.CharIndex():返回字符串起始位置 charindex(character_expression1,character_expression2,[,start_location]) --character_expression1:包含要查找的序列的字符串表达式expression2:要搜索的字符表达式start_location:开始位置,如果未指定则将expression2的开头搜索返回字符串中指定表达式的起始位置[]里面的内容说明可以省略,缺省情况下,说明用‘[]’引用 charindex(为')返回4 5) 返回0 搜索字符串的位置值有4位 2)返回4 返回的是字符串所在搜索字符串的位置 8.PatIndex()返回表达式模式的字符串的起始位置 patindex(character_expression1,characterexpression2)expression1:搜索模式文字expression2:要搜索的表达式 精确匹配,完全匹配1,不完全匹配0模糊匹配,返回从第几位开始匹配返回指定表达式模式的第一次出现的开始位置 patindex(%a%123456a返回6 模糊匹配 a返回0 精确匹配 9.Len():返回字符个数 len(character_expression)character_expression:表示要处理的表达式(varchar、nvarchar)返回字符表达式中的字符数(int) len(abcdlen(12345)返回5 10.Stuff():在一个字符串中,删除指定长度的字符,并在该位置插入一个新的字符串 stuff(character_expression,bigint_expression1,bigint_expression2,character_expression1)character_expression:要搜索的表达式(varchar、nvarchar、varbinary)integer_expression1:开始位置integer_expression2:字符数character_expression1:替换的表达式 stuff(abcdefg3,1); font-weight: bold">2,1)">aa返回abaaefg 11.Difference():SOUNDEX值之差 difference ( character_expression,character_expression )character_expression:类型 char 或 varchar 的表达式以整数返回两个字符表达式的SOUNDEX值之差,返回的值从 0 到 4 不等,4 表示 SOUNDEX 值相同返回类型:int SELECT DIFFERENCE(Test4 12.Soundex():由四个字符表示的soundex代码 soundex(character_expression)返回由四个字符表示的soundex代码 soundex(返回A120 13.Lower():大写字母转小写字母 lower(character_expression)character_expression:字符串或者二进制数据表达式(varchar、nvarchar)返回将大写字符转换为小写字符的字符表达式 lower(ABCD返回abcd 张San返回张san 14.Upper():小写字母转大写字母 upper(character_expression)返回将小写字符转换为大写字符的字符表达式 select upper(返回ABCD 返回张SAN 15.Ltrim():清除左边字符的空格 ltrim(character_expression)character_expression(varchar、nvarchar)返回删除了前导空格之后的字符表达式 ltrim( Test Test 返回Test Test 16.Rtrim():清除右边字符的空格 rtrim(character_expression)返回截断了所有尾随空格之后的字符表达式 rtrim( TestTest 返回 TestTest 17.Nchar():给定的整数代码的Unicode字符 nchar(integer_expression)integer_expression(int)返回具有给定的整数代码的Unicode字符Unicode:统一码、万国码、单一码 nchar(100) 返回d 18.Quotename():返回带有分隔符的 Unicode 字符串,主要作用就是在SQL语句中,给列名、表名等加个[]、’’ quotename(character_expression,character_expression1])character_expression,unicode字符数据构成的字符串,character_expression是sysname值character_expression1:引号字符,如果未指定则使用方括号作为分隔符([ ])quotename()的主要作用就是在存储过程中,给列名、表名等加个[]、’’等以保证sql语句能正常执行 quotename(stuname'''') 返回'stuname' student返回[student] 19.Replicate():按指定次数重复字符表达式 replicate(character_expression,1)">character_expression:需要复制的表达式integer_expression:复制次数 replicate(3) 返回abcdabcdabcd 20.Reverse():返回字符表达式的逆向表达式 reverse(character_expression)返回字符表达式的逆向表达式 reverse(返回dcba 21.Space():返回由重复空格组成的字符串 space(integer_expression)返回由重复空格组成的字符串返回类型:char space(返回2个空格 22.Str():将数值表达式转换字符表达式 str(float_expression[,length[,demical_expression]])length:是总长度,包括小数点、符号、数字或空格。默认值为 10demical_expression:小数点右边的位数返回从数值表达式转换而来的字符表达式str(23.35,1); font-weight: bold">8,1)">返回 23.350 3)) 返回8 23.UniCode():表达式第一个字符Unicode的整数值 unicode(character_expression)character_expression:需要转换的表达式返回表达式第一个字符Unicode的整数值 unicode(返回97 ?24.String_Split():分隔字符串,返回表,列名为value string_split(character_expresstion1,character_expresstion2)character_expresstion1:需要分隔的字符串character_expresstion2:分隔符返回子字符串的单列的表(table) 该列名为“value” select value from string_split(jsp-asp-') (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |