Jump to content
batistavn15

[Resolvido] Cortar String

Recommended Posts

batistavn15

Boas pessoa, estou com uma dúvida, eu através de uma query devolvo um resultado por exemplo:

aaa/u/ppp

c/ttttttttttt/k

E queria que apenas me devolve-se o que está entre as barras, ou seja:

u

ttttttttttt

É possivel realizar algo do género?

Obrigado, Cumprimentos

Share this post


Link to post
Share on other sites
nelsonr

Boas,

já não mexo em mysql ha algum tempo, mas poderá ser algo assim

SELECT substring_index(substr(CAMPO, instr(CAMPO , '/')+1), '/', 1) FROM TABELA where CAMPO regexp '/.*/'

Share this post


Link to post
Share on other sites
batistavn15

Boas,

já não mexo em mysql ha algum tempo, mas poderá ser algo assim

SELECT substring_index(substr(CAMPO, instr(CAMPO , '/')+1), '/', 1) FROM TABELA where CAMPO regexp '/.*/'

Muito obrigado, era mesmo isto ;):thumbsup:

Share this post


Link to post
Share on other sites
batistavn15

Muito obrigado, era mesmo isto ;):thumbsup:

Uma ultima questão: Depois de resolver isto deparei-me com uma situação, visto eu de seguida irei realizar uma conta, e vamos supor:

aaa/iii/pp -> 33

fff/iii/q -> 12

Quando faço o agrupar ele aparece 2 vezes "iii" devido a ter referencias diferentes para tras e para a frente, seria possivel agrupar quando se têm a mesma palavra no meio?

Aqui deixo o código de como está até agora:

SELECT DISTINCT(substring_index(substr(direccao_area_dominio, instr(direccao_area_dominio , '/')+1), '/', 1)) as dominios,
COUNT(DISTINCT(id)) as conta
FROM pedidos WHERE direccao_area_dominio REGEXP '/.*/'
GROUP BY direccao_area_dominio

Share this post


Link to post
Share on other sites
nelsonr

Assim?

SELECT substring_index(substr(direccao_area_dominio, instr(direccao_area_dominio, '/')+1), '/', 1) as dominios, count(*) as conta FROM pedidos WHERE direccao_area_dominio REGEXP '/.*/' group by dominios

Edited by nelsonr

Share this post


Link to post
Share on other sites
batistavn15

Assim?

SELECT substring_index(substr(direccao_area_dominio, instr(direccao_area_dominio, '/')+1), '/', 1) as dominios, count(*) as conta FROM pedidos WHERE direccao_area_dominio REGEXP '/.*/' group by dominios

Sim, isso é o código como tenho, o problema é como expliquei em cima, aparecem 2 "iii", o que deveria aparecer 1 "iii" -> 45

Share this post


Link to post
Share on other sites
nelsonr

esse codigo, com esta informacao:

aaa/iii/bbb

ccc/iii/ddd

eee/zzz/yyy

Mostra algo assim:

iii 2

zzz 1

Era suposto mostrar o que?

Share this post


Link to post
Share on other sites
batistavn15

esse codigo, com esta informacao:

aaa/iii/bbb

ccc/iii/ddd

eee/zzz/yyy

Mostra algo assim:

iii 2

zzz 1

Era suposto mostrar o que?

Sorry, erro e distração minha. Já está, obrigado ;)

Edited by batistavn15

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.