Juntando pra reduzir variáveis

Forum sobre SQL.

Moderador: Moderadores

Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Juntando pra reduzir variáveis

Mensagem por JoséQuintas »

Na nota fiscal eletrônica, coloco o endereço de entrega e de cobrança em informações adicionais.
Então imaginem o comando/fonte:

Código: Selecionar todos

:cSql := "SELECT ENDERECO, NUMERO, BAIRRO, CIDADE, UF FROM JPCADASTRO"
:Execute()
cTexto := :String( "ENDERECO" ) + " " + :String( "NUMERO" ) + " " + :String( "BAIRRO" ) + " "  + :String( "CIDADE" ) + " " + :String( "UF" )
Muito chato, muitas variáveis, parece trabalhoso.
Mas, pra que trazer vários campos e juntar depois?
Mais prático trazer pronto.

Código: Selecionar todos

:cSql := "SELECT CONCAT( ENDERECO, ' ', NUMERO, ' ', BAIRRO, ' ', CIDADE, ' ', UF ) AS ENDENT FROM JPCADASTRO"
:Execute()
cTexto := :String( "ENDENT" )
Ao invés de vários campos, foi reduzido a um único através do SQL, veio pronto pra uso.

Comparando com DBF:

Código: Selecionar todos

SET ALTERNATE TO LIST.TXT
SET ALTERNATE ON
LIST Trim( Endereco ) + " " + Trim( Numero ) + " " + Trim( Bairro ) + " " + Trim( cidade ) + " " + Trim( UF )
SET ALTERNATE OFF
SET ALTERNATE TO
Como eu já disse, é como se o SQL fosse um dBase evoluído pra ser usado também pelo aplicativo.
É como acima, executado o comando, fica tudo no LIST.TXT, o aplicativo vai trabalhar com esse resultado.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Juntando pra reduzir variáveis

Mensagem por JoséQuintas »

Descobri uma função melhor pra isso.


WS vém de word separator, separador de palavras
O primeiro texto vai ser usado como separador dos demais
mysql.png
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
alxsts
Colaborador
Colaborador
Mensagens: 3092
Registrado em: 12 Ago 2008 15:50
Localização: São Paulo-SP-Brasil

Juntando pra reduzir variáveis

Mensagem por alxsts »

Olá!

Esta função também existe no PostgreSQL, com a mesma sintaxe.
JoséQuintas escreveu:WS vém de word separator, separador de palavras
No Postgres, WS significa “with separator”.
[]´s
Alexandre Santos (AlxSts)
Responder