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函数
可以,如果字段中的内容跟你提到的很相似或者类似可以用下面的查询语句:
select substr(字段名称,0,5) from 表明 ,如果数据库中的字段内容跟这个不像类似或者不一样,这个就需要写存储过程进行,在存储过程中添加IF判断。
string s="a(bc)d";
int a= s.IndexOf('(')+1;
int b=s.IndexOf(')');
string ss = s.Substring(a, b - a);
1、创建测试表,create table test_substr(value varchar2(200));
2、插入测试数据,
insert into test_substr values('1245abs');
insert into test_substr values('abcdefg');
insert into test_substr values('123456');
insert into test_substr values('89765321307');
3、查询表中的所有记录,select * from test_substr ,
4、编辑sql,从右边倒数第三个字符开始取数,select t.*, substr(value,-3) value2 from test_substr t;
可以参考下这三个看有没有满足需求的
select LEFT('SqlServer_2008',3) 返回结果 Sql
select RIGHT('SqlServer_2008',4) 返回结果 2008 ps:从右往左截取4位
select SUBSTRING('SqlServer_2008',LEN('SqlServer_2008')-3,4) 返回结果 2008
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
以上。
感谢二位!