MySQL获取或者查询数据库字段的特定几位

转载 2018年04月14日 23:37:02

mysql经常会用来查询特定字段,偶尔会需要展示特定字段中值的某部分,这个时候怎么处理呢?

然后还有模糊查询的时候,如果需要匹配中间的某部分值,这个时候like就很尴尬,会多出一些不相干的记录,这又该怎么处理呢?

一、获取特定的几位:
1、取url字段后三位字符
1
 
  1. select SUBSTRING(url, -3) from link;
#这种只能针对固定长度,比说url共8个字符,可以下面这种写法
1
 
  1. select RIGHT(`url`,length(`url`)-5) from link;
2、从左开始第3位取(包括第三位)
1
 
  1. select SUBSTRING(url, 3) from link;
3、取左边的3位
1
 
  1. select SUBSTRING(url, 1, 3) from link;
#这种只能针对固定长度,比说url共8个字符,可以下面这种写法
1
 
  1. select LEFT(`url`,length(`url`)-5) from link;
4、中间截取(从第1位开始取7位,如sDate字段值是 2013-06-07)
1
 
  1. select SUBSTRING(sDate, 1,7) from forumdata;
查询结果就是 2013-06

二、查询特定的几位:
1、正常的模糊查询
1
 
  1. select * from cm_order where ordersn like '%31%';
2、一个字段共有13位,查询倒数四五位为31的
1
 
  1. select * from cm_order where SUBSTRING(ordersn, 9,2) = 31;
  2. SELECT * from cm_order where RIGHT(`ordersn`,length(`ordersn`)-8) like '31%';

这种如果正常的模糊查询会出来很多不相干的数据,但是这种只能针对定长的模糊查询,效率方面比正常的模糊查询好很多。

赵强老师:Oracle数据库从10g到11g(2)SQL高级查询

-
  • 1970年01月01日 08:00

【转】MySQL获取或者查询数据库字段的特定几位

mysql经常会用来查询特定字段,偶尔会需要展示特定字段中值的某部分,这个时候怎么处理呢? 然后还有模糊查询的时候,如果需要匹配中间的某部分值,这个时候like就很尴尬,会多出一些不相干的记录,这又该...
  • zjwen2007
  • zjwen2007
  • 2015-04-07 11:21:19
  • 283

怎么获取mysql中某一字段数据的后几位?(SUBSTRING)

select SUBSTRING(userLink, -3) from forumdata_userttt 取userLink字段后三位字符     select SUBSTRING(us...
  • macwhirr123
  • macwhirr123
  • 2012-08-29 14:29:59
  • 14428

python查询数据库所有表名和字段,使用SQLAlchemy查询所有表名

方法1: from sqlalchemy.ext.declarative import declarative_base Base = declarative_base() engin...
  • BennyShi1998
  • BennyShi1998
  • 2017-07-24 13:29:39
  • 1821

mysql查询字段取前3位,后3位,中间3位,去除前3位,去除后3位

截取从第3位开始的一共8位数 SELECT SUBSTRING(payment_id,3,8) from sdb_ectools_payments  去掉字符后5位 SELECT SUB...
  • u011447828
  • u011447828
  • 2014-12-17 11:40:17
  • 2938

java jdbc 连接 mysql 数据库, mysql 实现 查询 指定行

java jdbc 连接数据库是入门级的数据库实验,之所以在这里把代码贴出来 是为了 方便以后阅读。 package com; import java.sql.Connection; import...
  • chenwen_201116040110
  • chenwen_201116040110
  • 2014-12-26 16:03:36
  • 1246

MySQL获取或者查询数据库某个字段的特定几位(SUBSTRING/RIGHT/LEFT)

一、获取特定的几位:1、取url字段后三位字符?1 select SUBSTRING(url, -3) from link;#这种只能针对固定长度,比说url共8个字符,可以下面这种写法?1 sele...
  • qq_40012791
  • qq_40012791
  • 2018-04-18 10:32:53
  • 5

thinkPHP 查询数据库字段

/** * 查询指定的字段是否存在表中 * @param type $field 字段名称 * @return void * @access protected */ protected functi...
  • h330531987
  • h330531987
  • 2017-05-04 17:44:21
  • 1153

【1-2】使用python连接mysql数据库查询所有字段并分别显示

1.得到的结果 userid=1, username=a userid=2, username=b userid=3, username=c userid=4, username=d useri...
  • huangmin113659
  • huangmin113659
  • 2016-04-11 08:09:25
  • 3563

mysql查找数据中包含特定字符的字段名所在的表

在整个MySQL数据库中查找 select * from INFORMATION_SCHEMA.columns where COLUMN_NAME Like '%placement%'; 在特定数据...
  • fabbychips
  • fabbychips
  • 2016-12-08 14:19:04
  • 2812
收藏助手
不良信息举报
您举报文章:MySQL获取或者查询数据库字段的特定几位
举报原因:
原因补充:

(最多只允许输入30个字)