• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

mapb_1990

[SQL Server] Retrição nas datas

3 mensagens neste tópico

boas,

tenho uma tabela que tem campos do tipo datetime (8) e precisava se fazer um SELECt a essa tabela com algumas restrições, sendo uma deslas é que o campo 'ObraDataEntrada' seja maior que hoje menos 30 dias, simplificando que seja do ultimo mês.

alguem sabe fazer isso?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Podes usar algumas das funções de manipulação de datas do motor de bases de dados que estiveres a usar, creio que o DATEDIFF existe em todos. Dessa forma, podes fazer uma diferença entre a data de hoje e a data do campo, e a função até te devolve a diferença em dias.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

obrigado pela ajuda.

procurei pela função, implementei-a, mas está-me a dar um erro:

Warning: mssql_query() [function.mssql-query]: message: Invalid column name 'ObraDias'. (severity 16) in D:\inetpub\vhosts\mavideo.pt\httpdocs\portal2.php on line 77

	$query = "	SELECT DATEDIFF( DAY, GETDATE(), ObraDataEntrada ) as 'ObraDias', *
			FROM Obra_dt 
			WHERE " . (!$talaoObra ? "(ObraDataSaida IS NULL) " : "") .
				"AND (ObraDias <= 30)" .
				($nCliente || $telefone ? "AND (ObraClienteRef = " . $cliente_dt['ClienteID'] . ") " : "") .
				($talaoObra ? " (ObraDocCliente LIKE '%" . $talaoCliente . "%" . $talaoObra . "%') " : "") .
			"ORDER BY ObraDataEntrada DESC";
//	echo $query;
$sql = mssql_query($query);

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora