[resolvido] sql server 2008 (obrigado a todos)

Bom dia galera!

Estou com problemas para fazer para fazer uma SQL pois estou utilizando o BI da Microsiga e precisa pegar uma coluna data

mas apenas quero pegar o Mês e o Ano e não quero o dia, mas não consigo!!!


AFS.AFS_EMISSA

--seria assim?

SUBSTRING(AFU_DATA,5,2)+'/'+SUBSTRING(AFU_DATA,1,4)

pois estou fazendo um relatório e está trazendo a data com todos os dias, mas quero apenas separar por mês!!!

O sql server tem as funçoes YEAR() e MONTH(), que retorna ano e mês de um campo data.

o fio seguinte, estou fazendo uma SELECT dentro de OUTRA SELECT a SELECT de dentro está unindo duas tabelas, e a da fora faz os demais procedimento, mas quando eu vou rodar as SELECT ele da o seguinte erro

Mensagem 8114, Nível 16, Estado 5, Linha 1
Error converting data type varchar to float.

acredito eu que seja um erro na primeira linha, mas da uma olhada o q eu tenho na primeira linha

SELECT
		RECEITAS.CODIGO_PROJETO AS CODIGO_PROJETO,

só q na minha coluna codigo de projeto tem registro com int e com varchar será q é isso o probelma?

O erro deve está em algums dos campos float.

O erro deve está em algums dos campos float.[/quote]

an??? como assim?

Quando se trata de consulta, o comando inteiro fica na primeira linha, não confia muito na linha da mensagem de erro. Tem algum campo varchar que você está comparando com float e está dando erro, pode ser algum join do where fazendo o convert implícito.

Mas o q eu tenho que fazer???

passar de float para varchar???

e como faz isso?

Caro rafaelshock,

Você já tentou executar as consultas separadamente, conforme levantado pelo colega soaresinfo?

_ _
Fabiano Abreu
Papo Sql - Um blog com tutoriais, dicas e truques sobre SQL

[quote=Fabiano Abreu]Caro rafaelshock,

Você já tentou executar as consultas separadamente, conforme levantado pelo colega soaresinfo?

_ _
Fabiano Abreu
Papo Sql - Um blog com tutoriais, dicas e truques sobre SQL
[/quote]

sim sim, e funciona normal, mas quando vou rodar tudo não vai!!!
da esse erro

Galera deu certo Obrigado pela ajuda de todos…

o problemas era o seguinte, o banco e dados a qual estou trabalhando a data era declarada como string e não como date
então precisei fazer um conversão utilizando o Cast de string para int

ficou assim

cast(SUBSTRING(cast(AFT.AFT_DATA as varchar(6)),5,2) as int) AS DATA

não sei se está certo, mas aqui está rodando se alguém estiver uma melhoria estou aberto a opiniões sou novo nisso ainda!!

Obrigado mais uma vez