Acredito que a maioria deva saber, mas como eu não sabia, não custa publicar, pode ser que ajude alguém.
Eu precisava mostrar alguns campos concatenados num campo tipo select. O problema era trazer uma data e um valor monetário formatados pra exibir no select:
SELECT id, concat(
'Pedido: ‘, codigo,
’ - Data: ‘, DATE_FORMAT(data
,’%d/%m/%Y’),
’ - Descrição: ', cast(descricao as char),
’ - R$ ', REPLACE(REPLACE(REPLACE(FORMAT(total_orcamento, 2), ‘.’, ‘|’), ‘,’, ‘.’), ‘|’, ‘,’)
)
FROM sua_tabela…
Resultado:
1 Pedido: 1 - Data: 17/01/2013 - Descrição: TESTE - R$ 7.052,50
2 Pedido: 2 - Data: 17/01/2013 - Descrição: TESTE2 - R$ 205,00
O cast(descricao as char) foi pra evitar o erro de ilegal mix collation no concat.
Abraço!