一、如何截取中间字符串?
最怕这种不描述清楚场景的问题,只有尝试答一下。
1、假如是数据库应用,以Oracle为例,用substr来截取子字符串。
语法为:substr(字段名,截取字符串的开始位置,截取子串长度)
实例如下:
数据库里有张人员表,人员的出生日期字段是按“yyyy-mm-dd”格式保存生日信息的,现要提取每个人的出生月份,就可以写成
select substr(出生日期字段,6,2) from 人员表
2、假如是编程应用,以C#为例,用Substring来截取子字符串。
语法为Substring(被截取变量名,截取字符串的开始位置,截取子串长度)
实例如下:
string str = "hellow word!";
string ss = str.Substring(4,2);
截取结果为"ow"。
二、SQL查询的时候截取字符串?
可以通过substring方法实现。sql: select substring('123456789',5,2) from dual;解释:第一个参数表示要截取的字符串,第二个参数是起始位置,第三个参数是,截取的长度。执行结果:56。
三、SQL字符串截取(oracle数据库)?
select substr('A123456',instr('A123456','A')+1,len('A123456')-instr('A123456','A')) from dual instr 返回1, 所以给它+1 , 从第2位开始截取到总长度-‘A’这个字符串的位置, 就是 6 , 所以最终会是 select substr('A123456',2,6) from dual 这么写能明白吗?
四、C语言。截取字符串?
可改变数组大小,满足你可能的输入状况。
#include<stdio.h>
int main(){
char str[200]; // 假定输入1行字符串,长度在200以内
char s[20][16]; // 假定 用逗号分隔 的部分 约20个,每个长度 不超过16字符
double d[20]; // 假定数据个数 不超过 20 个
int i,j=0,L,n=0;
fgets(str,200,stdin); // 读入一行 字符串,含换行符
L = strlen(str); //计算输入的字符串长度
for (i=0;i<L;i++){
s[n][j]=str[i]; j++;
if (str[i]==',' || str[i]=='\n') {s[n][j-1]='\0'; j=0; n++;} // 取出 逗号分隔 开的字符串
}
for (i=0;i<n;i++) printf("%s\n",s[i]); //输出这些 分开的字符串
j=0;
for (i=0;i<n;i++){
if ( sscanf(s[i],"%lf",&d[j]) == 1) j++; // 能转换为数的一个一个转换
}
printf("\n=======values========\n");
for (i=0;i<j;i++) printf("%lf\n",d[i]); // 输出这些数据
return 0;
}
五、如何用substring sql从字符串中截取数字,函数?
select left('2箱+3部',CHARINDEX('+','2箱+3部')-2)+'*16+'+left(right('2箱+3部',len('2箱+3部')-CHARINDEX('+','2箱+3部')),len(right('2箱+3部',len('2箱+3部')-CHARINDEX('+','2箱+3部')))-1)
declare @s nvarchar(100)
set @s='123箱+8部'
select left(@s,CHARINDEX('+',@s)-2)+'*16+'+left(right(@s,len(@s)-CHARINDEX('+',@s)),len(right(@s,len(@s)-CHARINDEX('+',@s)))-1)
六、sql数据库截取字符串函数?
mssql中截取字符串可以用left,right,substring函数。
left,是从字符左边开始截取,如:截取abcdefg字符串中的前三个字符:
select left('abcdefg',3);
其中3为截取的长度。
rigth是从字符右边开始截取,如截取abcdefg字符串中的后三个字符:
select right('abcdefg',3);
其中3为截取的长度。
substring,是从任意位置截取,如截取abcdefg字符串中的第二到第四个字符:
select substring('abcdefg',2,3);
其中2为开始截取的位数,3为截取的长度。
七、关于sql特殊字符直接字符串的截取?
select substring(replace( 字段,'jq_',''),1,2) from 表 这样, 大概都能取出来了,不过黑龙江和内蒙古估计有问题, 你自己在用case语句优化下就好了
八、博途如何截取字符串的中间字符?
先加头文件#include<string.h> char a[10]="123"; char b[10]="abc"; strcat(a,b)
; //连接两个字符串,连接后的字符串存放在a中,数组a中有足够空间 printf("%s",a)
; //输出连接后的字符串 或:
#include<string.h> char a[10]="123"; char b[10]="abc"; char c[20]; strcpy(c,a)
; //把串a复制到有足够空间的c中 strcat(c,b)
; //把b连接到c的串尾
九、如何截取中间字符?
用substring截取中间的字符串,substring()的作用就是截取父字符串的某一部分。
public String substring(int beginIndex, int endIndex)
第一个参数int为开始的索引,对应String数字中的开始位置。
第二个参数是截止的索引位置,对应String中的结束位置。
1、取得的字符串长度为:endIndex - beginIndex;
2、从beginIndex开始取,到endIndex结束,从0开始数,其中不包括endIndex位置的字符。
注意:
1)、substring(a,b)中的参数a其值可以从索引值0开始。当a等于0时,则表示其从字符串的第一个字符开始算起,也就是其子字符串是包含第一个字符的,当然,你也可以从后续的其他字符开始。
2)、substring(a,b)中的参数b,其值最大可以为 父字符串的长度,但并不包含索引值为b的那个字符。
十、MYSQL中使用sql函数怎样截取字符串?
substr(列名,值1,值2) 获取列名值1和值2之间的数,例如select sunstr(name,2,4) from student where name='lilei'结果就是ileicharindex(值1,值2) 返回值1在值2中的其实位置charindex ('sql','microsoft.sql.server') 结果返回11
- 相关评论
- 我要评论
-