本文目录
- sql怎么取字符串的前几位
- sql如何截取字符串中前面的数字
- 简单SQL语句,如何截取指定分隔符前字符串
- sql中如何在where字句里截取某个字段的前几位字符
- sql取特定字符的前面几位字符
- sql 查询字段中的前几个字
- sql中截取指定字符的前几位
- oracle中 sql截取某个字符前面和后面的值
sql怎么取字符串的前几位
sql语句截取字符串前几位语句:selectsubstr(cont_no,1,9)fromfor_contractSUBSTRING(expression,start,length)expression:是字符串、二进制字符串、text、image、列或包含列的表达式。不要使用包含聚合函数的表达式。start:是一个整数,指定子串的开始位置。length:是一个整数,指定子串的长度(要返回的字符数或字节数)。eg:selectidfromusersid的值是001.002$ selectsubstring(ID,charindex(’.’,ID)+1,(charindex(’$’,ID)-charindex(’.’,ID)-1))asidx
sql如何截取字符串中前面的数字
如果提取字符串中的数字,需要自定义函数,以下函数包含截取字符串中的数字、字母、汉字等。
create function fn_myget(@str as varchar(max),@category as varchar(10)=’Chinese’,@start as int=1,@end as int=100000)returns varchar(max)asbegin declare @i int=@start declare @lenstr int=len(@str) declare @str1 varchar(max) declare @strre varchar(max)=’’ while @i《=@lenstr and @i《=@end begin set @str1=substring(@str,@i,1); --提取汉字 if(@Category=’Chinese’) begin if(len(@str1)!=datalength(@str1)) set @strre=@strre+@str1 end --提取字母 else if(@Category=’Letters’) begin if((ascii(@str1)》=65 and ascii(@str1)《=90 or ascii(@str1)》=97 and ascii(@str1)《=122)) set @strre=@strre+@str1 end --提取数字 else if(@Category=’Digital’) begin if(ascii(@str1)》=48 and ascii(@str1)《=57) set @strre=@strre+@str1 end else set @strre=’输入错误’ set @i=@i+1 end return(@strre)end测试:
1、截取字符串dsajf23423423中的数字
select dbo.fn_myget(’dsajf23423423’,’Digital’,1,1000)结果:
2、截取字符串dsajf23423423中的字母
select dbo.fn_myget(’dsajf23423423’,’Letters’,1,1000)结果:
3、截取“说多了几分134lljjf爱”中的中文
select dbo.fn_myget(’说多了几分134lljjf爱’,’Chinese’,1,1000)结果:
自定义函数说明:
函数共需要4个参数:
第一个参数是要截取的字符串;
第二个参数根据要截取的内容不同,分别有“Digital”(截取数字)、“Letters”(截取字母)、“Chinese”(截取中文);
第三个参数代表截取的起始位;
第四个参数代表截取的截取的结束位。
简单SQL语句,如何截取指定分隔符前字符串
一、用到的函数:substring(’ ’, , )、charindex(’ ’,’ ’)select SUBSTRING(’hello@163.com’,1,charindex(’@’,’hello@163.com’)-1)1.substring(字符串表达式,开始位置,长度):从一个指定字符串的指定位置截取制定长度的字符;第一个参数表示被截取的字符串;第二个参数表示要在第一个参数中开始截取的位置;第三个参数表示要截取的长度。例如:select substring(’abc123’,1,2) →返回ab从字符串‘abc123’的第一个字符开始截取,共截取两个字符,最后得到‘ab’。2.charindex(字符串表达式1,字符串表达式2):在字符串2中查找字符串1,如果存在返回第一个匹配的位置,如果不存在返回0。如果字符串1和字符串2中有一个是null则返回null。可以指定在字符串2中查找的起始位置。例如:select charindex(’ab’,’BCabTabD’) → 返回3select charindex(’ab’,’BCabTabD’,4) →返回6二、用到的函数:left(’ ’, )、charindex(’ ’,’ ’)select LEFT(’hello@163.com’,charindex(’@’,’hello@163.com’)-1)1.left(字符串表达式,整数表达式):从字符串表达式的最左边开始截取整数表达式个字符。例如:select left(’abcdef’,3) →返回abc
sql中如何在where字句里截取某个字段的前几位字符
sql中在where字句里截取字符方法如下:
1、如果是sqlserver:where left(p.end_time,4) = '2012'。
2、如果是Oracle:where substr(p.end_time,0,4) = '2012'。
举例:
1、oracle: 'where substr(字段名,1,2)='''123''''
2、sqlserver: 'where substring(字段名,1,2)='''123''''
扩展资料:
sql中,常用函数介绍:
1、AVG():返回平均值
2、COUNT():返回行数
3、FIRST():返回第一个记录的值
4、LAST():返回最后一个记录的值
5、MAX():返回最大值
6、MIN():返回最小值
7、SUM():返回总和
8、UCASE():将某个字段转换为大写
9、LCASE():将某个字段转换为小写
10、MID():从某个文本字段提取字符
11、LEN():返回某个文本字段的长度
12、ROUND():对某个数值字段进行指定小数位数的四舍五入
13、NOW():返回当前的系统日期和时间
14、FORMAT():格式化某个字段的显示方式
15、INSTR():返回在某个文本域中指定字符的数值位置
16、LEFT():返回某个被请求的文本域的左侧部分
17、RIGHT():返回某个被请求的文本域的右侧部分
参考资料来源:百度百科-SQL函数
sql取特定字符的前面几位字符
select substr(’L-0FCLDRBCT-dsfsdfs’,1,instr(’L-0FCLDRBCT-dsfsdfs’,’-’,1,2)-1) from dual;首先用函数instr找到字符串中第二个”-”的位置,返回数字然后使用substr函数从1一直截取到上步骤返回的数字。
sql 查询字段中的前几个字
可以使用:substr( string, start_position, :提取的字符数,如果省略,substr将返回整个字符串;
针对本例举例说明:
select * from 表名 where substr(,1,2)=“10”
语句功能说明:从指定表中查询D字段第1、2个字符为“10的记录”。
扩展资料:
注意事项
语法:substr(string,start,length)
string参数:必选。数据库中需要截取的字段。
start参数:必选。
正数,从字符串指定位子开始截取;负数,从字符串结尾指定位子开始截取;0,在字符串中第一个位子开始截取。1,同理。(特殊)
length参数:可选。需要截取的长度。缺省,即截取到结束位置。
注意:若必选参数为空,那返回的结果也为空。
sql中截取指定字符的前几位
select substring(ID,charindex(’.’,ID)+1,(charindex(’$’,ID)-charindex(’.’,ID)-1)) as idx
oracle中 sql截取某个字符前面和后面的值
1、将新建好的表aaaa,填充需要查询的数据以“_“或者“,“为分隔符的两条数据。
2、先挑ID为1的数据进行截取查询演示。
3、如果已知截取字符的长度和特殊字符位置,就可以用substring()函数来从字符串的开始位置,截取到特殊字符出现的位置。
4、使用charindex()函数来返回特殊字符出现的位置,查询结果及语句。
5、使用LEFT()函数和charindex()函数来从字符最左边开始到特殊字符出现的位置。
6、第一个参数表示被截取的字符串,第二个参数表示要在第一个参数中开始截取的位置,第三个参数表示要截取的长度。