Luiz Henrique Porto Postado Novembro 30, 2010 Denunciar Share Postado Novembro 30, 2010 (editado) alguém sabe me dizer como utilizou essa função ?E para que ela serve?Pelo que eu vi é uma function , queria saber em que momentos eu posso utiliza-la Editado Novembro 30, 2010 por Luiz Henrique Porto Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 fulvio Postado Novembro 30, 2010 Denunciar Share Postado Novembro 30, 2010 Boa tarde Luiz, Não conheço a função. Qual a sua sintaxe? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Luiz Henrique Porto Postado Novembro 30, 2010 Autor Denunciar Share Postado Novembro 30, 2010 tambem queria saber .YearToDate já vi em java, mas nunca em sql . Dando uma pesquisada Fulvio Vi este scriptCREATE TABLE T(d DATETIME NOT NULL PRIMARY KEY)-- Sample dataINSERT INTO T (d)VALUES ('20030801')INSERT INTO T (d)VALUES ('20030901')INSERT INTO T (d)VALUES ('20030501')INSERT INTO T (d)VALUES ('20021201')-- For current dateSELECT dFROM TWHERE (MONTH(CURRENT_TIMESTAMP) >= 8 ORd >= CAST(YEAR(CURRENT_TIMESTAMP) - 1 AS CHAR(4)) + '0801')AND(MONTH(CURRENT_TIMESTAMP) < 8 ORd >= CAST(YEAR(CURRENT_TIMESTAMP) AS CHAR(4)) + '0801')ORDER BY dd2003-08-01 00:00:00.0002003-09-01 00:00:00.000-- For provided dateCREATE FUNCTION YearToDate (@d DATETIME)RETURNS TABLEASRETURN(SELECT dFROM TWHERE (MONTH(@d) >= 8 OR(d BETWEENCAST(YEAR(@d) - 1 AS CHAR(4)) + '0801' AND @d))AND(MONTH(@d) < 8 OR(d BETWEEN CAST(YEAR(@d) AS CHAR(4)) + '0801' AND @d)))SELECT dFROM YearToDate('20030701')ORDER BY dd2002-12-01 00:00:00.0002003-05-01 00:00:00.000Regards,jag Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 fulvio Postado Novembro 30, 2010 Denunciar Share Postado Novembro 30, 2010 Boa tarde Luiz, Esta função não é "nativa" do sql. É uma implementação. Li o script: me parece que ela recupera a data mais próxima da pesquisada, desde que a data pesquisada já tenha ultrapassada uma das datas da tabela T. Caso a data seja igual a uma data da tabela T, será listado dois resultados (ela mesma e a mais próxima). O que não entendi é por que a data '20030701' retorna dois valores.... parece que quando a data está exatamente entre duas datas, ele lista as duas. Mas realizei testes com outras datas e não deu certo... :.( Quando implemento alguma coisa em sql, tento fazê-la. Alguns exemplos na net são para nortear ou para dar idéias de uma melhor implementação. Nunca peguei códigos prontos e utililizei. Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Luiz Henrique Porto
alguém sabe me dizer como utilizou essa função ?
E para que ela serve?
Pelo que eu vi é uma function , queria saber em que momentos eu posso utiliza-la
Editado por Luiz Henrique PortoLink para o comentário
Compartilhar em outros sites
3 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.