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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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函数

参考技术A

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

参考技术B 如果是sqlserver:

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

如果是Oracle:
where substr(p.end_time,0,4) = '2012'本回答被提问者和网友采纳
参考技术C 改成下面这样就可以了
where LEFT(p.end_time.substring,4)='2012'
参考技术D 我的Oracle要改为这样才能查到值:
where substr(p.end_time,1,4) = '2012'

sql语句截取数据库里的数据

mysql 假如 表m_chuku 想要截取 字段m_chukutime 的前10个字符和$kaishi比较,sql语句如下,
$sql="select * from m_chuku where m_chukutime> =$kaishi and m_chukutime<=$jieshu";

该怎么弄?

select * from m_chuku where substr(m_chukutime,1,10)> =$kaishi and m_chukutime<=$jieshu;
去看下数据库函数
参考技术A substr(m_chukutime,1,10)

以上是关于sql中如何在where字句里截取某个字段的前几位字符的主要内容,如果未能解决你的问题,请参考以下文章

如何在shell脚本中取出一个字段的前几位?

用mysql查询出字段中的前几个字

sql中where截取字符串字符

SQL如何查询表中某一列中的数据的前几位

取一个字符串前几位

sql中如何批量替换字段里的字符串?