quarta-feira, 7 de outubro de 2020

MySQL - Saída de SELECT direto em Arquivo Delimitado

 Utilizar o mysql junto com o sed.

Sintaxe com Nome das Colunas:

mysql -A -u[user] -p[senha] [banco] -e "[mysql statement];" | sed 's/\t/;/g' > [arquivo.csv]

Sintaxe sem Nome das Colunas:

mysql -AN -u[user] -p[senha] [banco] -e "[mysql statement];" | sed 's/\t/;/g' > [arquivo.csv]

Exemplo 1 - Converte o separador de <tab> para ponto-e-vírgula:

mysql -A -ueu -psenha banco -e "CALL PR_SELECIONA('202009');" | sed 's/\t/;/g' > relatorio_mes_20200930.csv &

Exemplo 2 - Sem nome das colunas e converte o separador de <tab> para ponto-e-vírgula:

mysql -NA -ueu -psenha banco -e "CALL PR_SELECIONA('202009');" | sed 's/\t/;/g' > relatorio_mes_20200930.csv &

Exemplo 3 - Converte o separador de <tab> para ponto-e-vírgula, e coloca um delimitador de campo alfanumérico

mysql -A -ueu -psenha banco -e "select t1.nu_cpfcnpj, CONCAT('<#>', t1.nm_razao_social,'<#>') razao_social, t2.nu_asset_id, t2.nu_conta_faturamento from tb_crm_customer t1 inner join tb_crm_account t2 on t2.id_customer = t1.id_customer where isnull(t2.dt_desativacao);" | sed 's/\t/;/g' | sed s/"<#>"/\"/g

Nenhum comentário:

Postar um comentário