sql中如何在where字句里截取某个字段的前几位字符

如where p.end_time.substring(0,3) = '2012',想表达意思是这样,但写法是错的,p.end_time里的数据是2012/12/11

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函数

温馨提示:答案为网友推荐,仅供参考
第1个回答  2018-03-30

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''''

本回答被网友采纳
第2个回答  推荐于2018-02-27
如果是sqlserver:

where left(p.end_time,4) = '2012'

如果是Oracle:
where substr(p.end_time,0,4) = '2012'本回答被提问者和网友采纳
第3个回答  2012-10-29
改成下面这样就可以了
where LEFT(p.end_time.substring,4)='2012'
第4个回答  2017-08-24
我的Oracle要改为这样才能查到值:
where substr(p.end_time,1,4) = '2012'
相似回答