Saber Dia Útil usando Select, tem como?
30/01/2006
0
A dúvida é a seguinte, preciso fazer uma instrução onde a mesma compare a data informada e se a mesma não cair em dia útil ela seja incrementada até ser.
em Delphi faço isso:
como fazer usando SQL? :idea: :arrow:
Macario
Posts
30/01/2006
Aasn
Para vc saber o dia da semana através de um select basta o seguinte:
select Extract(WeekDay from CampoData) from SuaTabela
[]´s
AASN
30/01/2006
Macario
Teste sua dica no Query Analyzer mas não funcionou
Incorrect syntax near the keyword ´from´.
Outro ponto se eu utilizar esta opção terei que estar fazendo isso em uma SP?
30/01/2006
Emerson Nascimento
select datepart(weekday,CampoData) from Tabela
onde:
1 - Domingo
2 - Segunda-feira
...
7 - Sábado
30/01/2006
Martins
select datepart(weekday,CampoData) from Tabela
E no Ib/Fb como seria?
30/01/2006
Michael
Até onde eu sei, não existem funções nativas em SQL. Cada banco de dados implementa seu grupo de rotinas independentes.
A função [b:383999f633]Extract[/b:383999f633], mencionada pelo colega [b:383999f633]AASN[/b:383999f633], só funciona do jeito desejado no [b:383999f633]Firebird[/b:383999f633]. No [b:383999f633]SQL Server[/b:383999f633], por exemplo, ela serve para extrair um elemento de um conjunto. Usa-se [b:383999f633]DatePart [/b:383999f633]para se extrair uma determinada informação, como o mês, o ano, o dia da semana, etc, de um campo (small) datetime.
Sua abordagem neste caso, se quiser usar SQL, vai depender do seu banco de dados.
[]´s
30/01/2006
Michael
No [b:74d63e301a]FB/IB[/b:74d63e301a] usa-se, como mencionado a pouco, [b:74d63e301a]Extract[/b:74d63e301a].
select Extract(weekday from CAMPO_DATA) as DiaSemana from TABELA
Mais aplicações com [b:74d63e301a]Extract [/b:74d63e301a]no FB/IB podem ser vistas [url=http://www.volny.cz/iprenosil/interbase/ip_ib_code_timestamp.htm]neste link[/url] e [url=http://firebird.sourceforge.net/index.php?op=useful&id=ostenried_1]neste tbm[/url].
[]´s
30/01/2006
Aroldo Zanela
Incorrect syntax near the keyword ´from´.
Colega,
Com SQL Server (parece ser o seu caso):
declare @dia_semana int select @dia_semana = DatePart(weekday, COLUNA_DATA) from SUA_TABELA where COLUNA_CHAVE=80626 if @dia_semana in (1,7) begin if @dia_semana = 1 begin set @dia_semana = @dia_semana + 2 end else begin set @dia_semana = @dia_semana + 3 end end
30/01/2006
Macario
Incorrect syntax near the keyword ´from´.
Colega,
Com SQL Server (parece ser o seu caso):
declare @dia_semana int select @dia_semana = DatePart(weekday, COLUNA_DATA) from SUA_TABELA where COLUNA_CHAVE=80626 if @dia_semana in (1,7) begin if @dia_semana = 1 begin set @dia_semana = @dia_semana + 2 end else begin set @dia_semana = @dia_semana + 3 end end
Olá.
Obrigado pela ajuda de todos.
Alguem teria um ´esqueleto´ de um SP, para que eu possa com base na dica do [b:57bcd44233]Aroldo Zanela[/b:57bcd44233], tentar montar o que preciso. :idea: :arrow:
30/01/2006
Aroldo Zanela
Com o Enterprise Manager, vai na seção de StoredProcedures e clica com o botão direito e seleciona ´Nova´ que ele monta o esqueleto. Acho que aqui no fórum na seção de SQL Server deve ter alguma coisa também.
Clique aqui para fazer login e interagir na Comunidade :)