python与sql的区别_sql与excel、python比较(一)——字符串函数

1、LENGTH(str):返回字符串的长度

select length('abcd'),length('a'),length('一'),length('一二'),length(1),length(1.23);

excel:LEN

python:len

2、CONCAT(s1,s2...,sn):将s1,s2...,sn连接成字符串

select concat('a','b');

excel:CONCATENATE或者&

python:直接相加

3、CONCAT_WS(sep,s1,s2...,sn):将s1,s2...,sn连接成字符串,并用sep字符间隔

select concat_ws('-','a','b','c');

excel:CONCATENATE或者&

python:直接相加

4、INSERT(str,x,y,instr):将字符串str从第x位置开始,y个字符长的子串替换为字符串instr,返回结果

select insert('abcd',2,1,'#&');

excel:REPLACE或SUBSTITUTE

python:replace

5、REPLACE(str,str1,str2):在字符串str中用str2替换掉str1

SELECT replace('abcdefg','bcd','#&');

excel、python同上

6、FIND_IN_SET(str,list):分析逗号分隔的list列表,如果发现str,返回str在list中的位置

select find_in_set('b', 'a,b,c,d');

excel:FIND和MATCH

python:index

7、POSITION(substr in str):返回子串substr在字符串str中第一次出现的位置

select position('b' in 'abcd'),position('e' in 'abcd');

8、LOCATE(substr,str,pos):返回substr字符串在str里pos(起始位置)出现的位置,没有返回0

select locate('b','abcd'),locate('e','abcd');

9、INSTR(str,substr):返回substr字符串在str出现的位置,没有返回0

select instr('abcd','b'),instr('abcd','e');

10、LCASE(str)或LOWER(str):返回将字符串str中所有字符改变为小写后的结果

select LCASE('ABCD');

excel:LOWER

python:lower

11、UCASE(str)或UPPER(str):返回将字符串str中所有字符改变为小写后的结果

select UCASE('abcd');

excel:UPPER

python:upper

12、LEFT(str,x):返回字符串str中最左边的x个字符

select left('abcd',2);

excel:LEFT

python:切片

13、RIGHT(str,x):返回字符串str中最右边的x个字符

select right('abcd',2);

excel:RIGHT

python:切片

14、LTRIM(str):从字符串str中切掉开头的空格

select ltrim(' ABCD');

15、RTRIM(str):去掉字符串str尾部的空格

select rtrim('ABCD ');

16、TRIM(str):去掉字符串str前后的空格

select trim(' ABCD ');

excel:TRIM

python:strip

17、LPAD(str1,x,str2):在str1前填充str2,填充后字符串总长度为x

select lpad('abc',8,'#-');

python:直接加

18、RPAD(str1,x,str2):在str1前填充str2,填充后字符串总长度为x

select rpad('abc',8,'#-');

python:直接加

19、REPEAT(str,x):将str重复x次

select repeat('SQL',3);

excel:REPT

python:直接*

20、REVERSE(str):颠倒字符串str

select reverse('SQL');

excel:需要VBA

python:切片的方式

21、STRCMP(s1,s2):比较字符串s1和s2,s1>s2返回1,s1=s2,返回0,s1

strcmp('abc', 'abc'),strcmp('abc', 'abb'),strcmp('abc', 'abd'),strcmp('abc', 'a');

excel:EXACT

python:is或==

22、GROUP_CONCAT(col):返回由属于一组的列值连接组合而成的结果

创建一张表

create table a(

people varchar(5) not null,

word varchar(10) not null

);

insert into a(people,word)

values('lily','I'),

('lily','love'),

('lily','python'),

('lucy','Java'),

('lucy','is'),

('lucy','better');

select * from a;

select people,group_concat(word,'-') from a

group by people;

python:聚合join

创建一个表

import pandas as pd

a=pd.DataFrame([['lily','I'],['lily','love'],['lily','python'],['lucy','Java'],['lucy','is'],['lucy','better']],columns=['people','word'])

a

a.groupby(['people']).apply(lambda x:' '.join(x.word.tolist())).reset_index()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值