mysql 二阶精度_MySQL复习—(二)进阶篇

SQL 函数一些函数

LEFT(str,len)

RIGHT(str,len)

LOCATE(substr,str)

SUBSTR(str FROM pos FOR len)

一、SQL 函数

LEFT(str,len)

LEFT:从左提取所要字符

用法:LEFT(字符串对应列名,从左数截取所需字符位置)

ringht:与用法与left一致

RIGHT(str,len)

用法:LEFT(所需的对应列名,从右数截取所需字符位置)

//从左截取第一位字符

SELECT LEFT(salary,1),salary FROM dataanalyst_sql;

//从右截取第一位字符

SELECT right(salary,1),salary FROM dataanalyst_sql;

//从左截取4个字符

SELECT LEFT(salary,4),salary FROM dataanalyst_sql;

只显示LEFT(salary,1)列

SELECT LEFT(salary,1) FROM dataanalyst_sql;

LOCATE(substr,str)

LOCATE:定位某一字符位置,返回对应字符位置(定位,查找字符所在在整字符串的位置)

用法:LOCATE('查找的字符串',对应列名,从字符串中第几个位置开始查找)

LOCATE('查找的字符串',对应列名) //不写默认第一位开始

ps:只能查找一次一个

//从salary列第三位置开始找'k'在该列的位置

SELECT LEFT(salary,1),LOCATE('k',salary,3), salary

FROM

dataanalyst_sql;

//默认从第一位开始找‘k’

SELECT LEFT(salary,1),LOCATE('k',salary), salary

FROM

dataanalyst_sql;

//结合用:拆分列,截取薪资上限

SELECT LEFT(salary,LOCATE('k',salary)-1), salary

FROM

dataanalyst_sql;

//方法一:提取工资下限。

SELECT RIGHT(salary,LOCATE('-',salary)-1), salary

FROM

dataanalyst_sql;

k仍在

方法二

利用两次left函数截取,

SELECT

LEFT(salary,LOCATE('k',salary)-1),

LOCATE('-',salary),

LENGTH(salary), //计算salary列字符长度

//LENGTH(salary)-LOCATE('-',salary) 等于右边长度(下限工资)

RIGHT(salary,LENGTH(salary)-LOCATE('-',salary)), //截取下限工资,并把它当成一个新的列

//LEFT(salary,LOCATE('k',salary)-1)

//salary=RIGHT(salary,LENGTH(salary)-LOCATE('-',salary))

//LENGTH(salary)-LOCATE('-',salary)-1 /left需要截取的长度

LEFT(RIGHT(salary,LENGTH(salary)-LOCATE('-',salary)),LENGTH(salary)-LOCATE('-',salary)-1),

salary

FROM

dataanalyst_sql;

//新手分步骤写

SUBSTR()SUBSTR(字符串,在字符哪个位置开始,需要截取长度)

SUBSTR(str,pos,len) 就是从pos开始的位置,截取len个字符(空白也算字符)

SBUSTR(字符串,在字符哪个位置开始)

SBUSTR(str,pos) 就是从pos开始的位置,一直截取到最后。

SELECT

LEFT(salary,LOCATE('k',salary)-1),

LOCATE('-',salary),

LENGTH(salary),

SUBSTR(salary,'-',LENGTH(salary)-LENGTH(salary)),

salary

FROM

dataanalyst_sql;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值