Formatar data em uma VIEW
Boa tarde,
Qual é a forma mais profissional de formatar uma data do formato YYYYMMDD para DD/MM/YYYY em uma VIEW no SQL SERVER 2008 R2?
[img:descricao=Formatação de data em uma VIEW]http://arquivo.devmedia.com.br/forum/imagem/402352-20150326-125643.jpg[/img]
Existe algum recurso no Management Studio que faça essa formatação?
Desde já agradeço.
Qual é a forma mais profissional de formatar uma data do formato YYYYMMDD para DD/MM/YYYY em uma VIEW no SQL SERVER 2008 R2?
[img:descricao=Formatação de data em uma VIEW]http://arquivo.devmedia.com.br/forum/imagem/402352-20150326-125643.jpg[/img]
Existe algum recurso no Management Studio que faça essa formatação?
Desde já agradeço.
José Jacinto
Curtidas 0
Melhor post
Marcos P
26/03/2015
Esqueça o design do Studio Management ...
Crie a view manualmente, via query, exatamente como definido pelo Jothaz :
O produto final será o mesmo, com o convert adequado a sua necessidade...
Crie a view manualmente, via query, exatamente como definido pelo Jothaz :
CREATE VIEW teste AS SELECT ID,EstadoID,NomeCidade ,convert(char,dt,103) as dt FROM Cidade
O produto final será o mesmo, com o convert adequado a sua necessidade...
GOSTEI 1
Mais Respostas
Randrade
26/03/2015
Adicione o CONVERT(CHAR,CAMPO,103) no campo desejado.
Ficando mais ou menos assim:
Ficando mais ou menos assim:
SELECT D2_COD, CONVERT(CHAR,D2_EMISSAO,103) AS NomeCampo from DS2010 INNER JOIN...
GOSTEI 0
Jothaz
26/03/2015
Só completando a informação do Randrade quando puder dê uma olhada aqui: Manipulando Data no SQL Server
GOSTEI 0
José Jacinto
26/03/2015
Olá. Apliquei a sugestão acima e li sobre Data no SQL Server no link, porém ainda não tenho o resultado esperado. Talvez eu esteja fazendo algo errado ou esperando algo diferente do que as funções podem fazer.
Vou explicar detalhadamente o que estou esperando:
Estou criando uma VIEW pelo Management Studio com SQL SERVER 2008 R2 com uma tabela do nosso ERP para montar uma conexão através do MS-EXCEL para servir algumas informações gerenciais para um departamento.
O que estou esperando é que diretamente na VIEW (Management Studio) a data já fique formatada e que ao conectar do Excel nessa view a data (lá no excel) já esteja no formato DD/MM/YYYY.
Isso é possível?
Veja abaixo as imagens:
Aqui espero que a data já fique formatada. Isso é possível? Ou devo fazer de outra forma?
[img:descricao=SQL]http://arquivo.devmedia.com.br/forum/imagem/402352-20150326-145709.jpg[/img]
Aqui seria o resultado final já na planilha que a data vem sem formatação. Isso é possível?
[img:descricao=Tabela Excel]http://arquivo.devmedia.com.br/forum/imagem/402352-20150326-145817.jpg[/img]
Vou explicar detalhadamente o que estou esperando:
Estou criando uma VIEW pelo Management Studio com SQL SERVER 2008 R2 com uma tabela do nosso ERP para montar uma conexão através do MS-EXCEL para servir algumas informações gerenciais para um departamento.
O que estou esperando é que diretamente na VIEW (Management Studio) a data já fique formatada e que ao conectar do Excel nessa view a data (lá no excel) já esteja no formato DD/MM/YYYY.
Isso é possível?
Veja abaixo as imagens:
Aqui espero que a data já fique formatada. Isso é possível? Ou devo fazer de outra forma?
[img:descricao=SQL]http://arquivo.devmedia.com.br/forum/imagem/402352-20150326-145709.jpg[/img]
Aqui seria o resultado final já na planilha que a data vem sem formatação. Isso é possível?
[img:descricao=Tabela Excel]http://arquivo.devmedia.com.br/forum/imagem/402352-20150326-145817.jpg[/img]
GOSTEI 0
Jothaz
26/03/2015
Sim é possível!
É só criar a view com o convert como no script abaixo:
Como pode ser visto na imagem abaixo o select na view fica com o formato correto:
[img]http://arquivo.devmedia.com.br/forum/imagem/418027-20150326-152930.png[/img]
Depois é só criar a planilha e obter os dados do SQL Server e escolher a view como fonte e vai funcionar como na imagem abaixo:
[img]http://arquivo.devmedia.com.br/forum/imagem/418027-20150326-153035.png[/img]
É só criar a view com o convert como no script abaixo:
CREATE VIEW teste AS SELECT ID,EstadoID,NomeCidade ,convert(char,dt,103) as dt FROM Cidade
Como pode ser visto na imagem abaixo o select na view fica com o formato correto:
[img]http://arquivo.devmedia.com.br/forum/imagem/418027-20150326-152930.png[/img]
Depois é só criar a planilha e obter os dados do SQL Server e escolher a view como fonte e vai funcionar como na imagem abaixo:
[img]http://arquivo.devmedia.com.br/forum/imagem/418027-20150326-153035.png[/img]
GOSTEI 1
Randrade
26/03/2015
Bom brother.
Dê uma olhada no SqlFiddle. Coloquei um exemplo com as datas.
Em relação ao Excel, não posso testar agora. Porém se não funcionar, poste o erro, para que possa analisar.
Dê uma olhada no SqlFiddle. Coloquei um exemplo com as datas.
Em relação ao Excel, não posso testar agora. Porém se não funcionar, poste o erro, para que possa analisar.
GOSTEI 0
José Jacinto
26/03/2015
Segue um print.
[img:descricao=View001]http://arquivo.devmedia.com.br/forum/imagem/402352-20150326-155335.jpg[/img]
Não rolou (ainda).
Estou deixando de fazer algo?
Jothaz? Estou criando a View pelo assistente do Management Studio. Isso pode interferir?
Obrigado.
[img:descricao=View001]http://arquivo.devmedia.com.br/forum/imagem/402352-20150326-155335.jpg[/img]
Não rolou (ainda).
Estou deixando de fazer algo?
Jothaz? Estou criando a View pelo assistente do Management Studio. Isso pode interferir?
Obrigado.
GOSTEI 0
Jothaz
26/03/2015
Esta havendo uma confusão com conceitos.
Olha pelo que estou entendendo você não esta criando a View esta só criando um Select.
Se quiser usar uma View deve criar um objeto do tipo View via script:
Ao executar o script acima vai ser criado um objeto do tipo View na estrutura do banco de dados, seria, a grosso modo, como salvar o Select, veja na imagem:
[img]http://arquivo.devmedia.com.br/forum/imagem/418027-20150326-160505.png[/img]
Este objeto vai ser usado como fonte de dados no Excel:
[img]http://arquivo.devmedia.com.br/forum/imagem/418027-20150326-160624.png[/img]
Como pode ser visto nas imagens anteriores funciona sem problemas.
Olha pelo que estou entendendo você não esta criando a View esta só criando um Select.
Se quiser usar uma View deve criar um objeto do tipo View via script:
CREATE VIEW teste AS SELECT ID,EstadoID,NomeCidade ,convert(char,dt,103) as dt FROM Cidade
Ao executar o script acima vai ser criado um objeto do tipo View na estrutura do banco de dados, seria, a grosso modo, como salvar o Select, veja na imagem:
[img]http://arquivo.devmedia.com.br/forum/imagem/418027-20150326-160505.png[/img]
Este objeto vai ser usado como fonte de dados no Excel:
[img]http://arquivo.devmedia.com.br/forum/imagem/418027-20150326-160624.png[/img]
Como pode ser visto nas imagens anteriores funciona sem problemas.
GOSTEI 0
José Jacinto
26/03/2015
ok. Fazendo aqui. Value pela força pessoal. Logo retorno com o resultado.
GOSTEI 0
Samuel Silva
26/03/2015
José,
Sou novo no fórum, na verdade fiz o cadastro agora só pra responde vc.
Também uso o ERP Protheus e sempre tive esse mesmo problema, mas é simples vou explicar.
O que acontece é que o Protheus guarda a data como Char(8) no banco e com esse formato YYYYMMDD, então primeiro vc tem que converte ele para "Date" e depois formatar para DD/MM/YYYY.
Para converter eu uso o CAST("campo" As Date) e para formatar uso o que o Randrade disso no inicio CONVERT(CHAR,"campo",103)
Então ficaria assim:
Sou novo no fórum, na verdade fiz o cadastro agora só pra responde vc.
Também uso o ERP Protheus e sempre tive esse mesmo problema, mas é simples vou explicar.
O que acontece é que o Protheus guarda a data como Char(8) no banco e com esse formato YYYYMMDD, então primeiro vc tem que converte ele para "Date" e depois formatar para DD/MM/YYYY.
Para converter eu uso o CAST("campo" As Date) e para formatar uso o que o Randrade disso no inicio CONVERT(CHAR,"campo",103)
Então ficaria assim:
SELECT CONVERT(CHAR,CAST(D2_EMISSAO AS date),103) as Emissao ,* FROM SD2010
Boa tarde,
Qual é a forma mais profissional de formatar uma data do formato YYYYMMDD para DD/MM/YYYY em uma VIEW no SQL SERVER 2008 R2?
[img:descricao=Formatação de data em uma VIEW]http://arquivo.devmedia.com.br/forum/imagem/402352-20150326-125643.jpg[/img]
Existe algum recurso no Management Studio que faça essa formatação?
Desde já agradeço.
Qual é a forma mais profissional de formatar uma data do formato YYYYMMDD para DD/MM/YYYY em uma VIEW no SQL SERVER 2008 R2?
[img:descricao=Formatação de data em uma VIEW]http://arquivo.devmedia.com.br/forum/imagem/402352-20150326-125643.jpg[/img]
Existe algum recurso no Management Studio que faça essa formatação?
Desde já agradeço.
GOSTEI 1
José Jacinto
26/03/2015
Opa. Deu certo! Obrigado ao Samuel e a todos que me ajudaram.
[img:descricao=OK]http://arquivo.devmedia.com.br/forum/imagem/402352-20150327-121532.jpg[/img]
[img:descricao=OK]http://arquivo.devmedia.com.br/forum/imagem/402352-20150327-121555.jpg[/img]
[img:descricao=OK]http://arquivo.devmedia.com.br/forum/imagem/402352-20150327-121532.jpg[/img]
[img:descricao=OK]http://arquivo.devmedia.com.br/forum/imagem/402352-20150327-121555.jpg[/img]
GOSTEI 0
José Jacinto
26/03/2015
Não sei se seria neste tópico mesmo ou preciso abrir outro, mas por exemplo... alterei tudo dentro do modo DESIGN do Management Studio de forma manual. Digitando o Convert e etc... existe algum recurso ou local onde se pode fazer isso de forma mais "amigável"? Tipo algum campo PROPRIEDADES, etc... ou seria no modo manual mesmo?
Obrigado.
Obrigado.
GOSTEI 0
Randrade
26/03/2015
Bom, não posso te dar certeza se existe ou não essa forma.
Porém, sempre ao trabalhar com Views, me foi repassado para trabalhar de forma manual, escrever o código mesmo.
Com o tempo, eu particularmente acho mais fácil do que utilizar o "Designer".
Porém se você quer respostas concretas, abra outro tópico, pois sua dúvida já foi respondida neste.
Porém, sempre ao trabalhar com Views, me foi repassado para trabalhar de forma manual, escrever o código mesmo.
Com o tempo, eu particularmente acho mais fácil do que utilizar o "Designer".
Porém se você quer respostas concretas, abra outro tópico, pois sua dúvida já foi respondida neste.
GOSTEI 0
José Jacinto
26/03/2015
Blz. Pessoal. Obrigado à todos!
GOSTEI 0