Fecha

Que tal, tengo dos preguntas puntuales y espero que simples para hacer.
Necesito saber en Sql server 7 como hago la consulta para saber diferencias entre dos fechas cualesquiera y se que la función es datediff(datepart, ini, fin) pero no me funciona algo estoy poniendo mal quisiera que me den algún ejemplo para copiarlo y pegarlo así veo que anda.
Bueno también necesito saber como comparar las cantidad de publicaciones vendidas en junio enla base de datos pub que ya viene en sql. No se como comparar la fecha que extraigo con el integer que quiero.
Bueno eso es todo espero alguna respuesta.
Desde ya muchas gracias
Diego

2 Respuestas

Respuesta
1
La función es esta: DateDiff("periodo", fecha1, fecha2)
En periodo pones el campo de la fecha que quieres comparar, es decir:
Año será "yyyy", meses será "m", días será "d", etc...
La segunda parte no se si te la entiendo bien... Lo que haces es un select del número de publicaciones vendidas en junio y luego no se con que quieres compararlo...
Se me olvidaba... El parámetro "periodo" varía según el programa. Yo te he puesto lo que se utiliza en Acces; para SQL Server creo que se utilizan dos letras en todos los periodos y comillas simples, es decir: año será 'yy', mes será 'mm', etc...
Y el ejemplo:
SELECT DATEDIFF('yy','1968-12-21','1999-12-20')
FROM sample. Person
Respuesta
1
Y con lo que se comenta en los libros de ayuda de sql server:
Datediff
Devuelve el número de límites de fecha y hora que hay entre dos fechas especificadas.
Sintaxis
DATEDIFF ( datepart, startdate, enddate )
Argumentos
Datepart
Es el parámetro que indica en qué parte de la fecha se calcula la diferencia. ¿La tabla enumera las partes de las fechas y abreviaturas reconocidas por Microsoft® SQL Server?.
Parte de la fecha Abreviaturas
Year yy, yyyy
Quarter qq, q
Month mm, m
Dayofyear dy, y
Day dd, d
Week wk, ww
Hour hh
Minute mi, n
Second ss, s
Millisecond ms
Startdate
Es la fecha de comienzo para el cálculo. Startdate es una expresión que devuelve un valor datetime o smalldatetime, o una cadena de caracteres con formato de fecha.
Puesto que smalldatetime es exacto únicamente en el minuto, cuando se utiliza un valor smalldatetime los segundos y milisegundos son siempre 0.
Si especifica solamente los dos últimos dígitos del año, los valores menores o iguales que los dos últimos dígitos del valor de la opción de configuración two digit year cutoff (reducción del año a dos dígitos) pertenecen al mismo siglo que el año límite. Los valores mayores que los dos últimos dígitos del valor de esta opción pertenecen al siglo anterior al año límite. Por ejemplo, si two digit year cutoff es 2049 (valor predeterminado), 49 se interpreta como 2049 y 50 se interpreta como 1950. Para evitar ambigüedades, utilice años de cuatro dígitos.
Para obtener más información acerca de cómo especificar valores de hora, consulte Formatos de hora. Para obtener más información acerca de especificar fechas, consulte datetime y smalldatetime.
Enddate
Es la fecha final para el cálculo. Enddate es una expresión que devuelve un valor datetime o smalldatetime, o una cadena de caracteres con formato de fecha.
Tipos devueltos
Integer
Observaciones
Startdate se resta de enddate. Si startdate es posterior a enddate, se devuelve un valor negativo.
DATEDIFF produce un error si el resultado está fuera del intervalo de valores enteros. Para los milisegundos, el número máximo es de 24 días, 20 horas, 31 minutos y 23,647 segundos. Para los segundos, el número máximo es 68 años.
El método para contar los límites que hay, tales como minutos, segundos, y milisegundos, hace que el resultado dado por DATEDIFF sea coherente en todos los tipos de datos. El resultado es un valor entero con signo igual al número de límites datepart que hay entre la primera y la segunda fecha. Por ejemplo, el número de semanas que hay entre el domingo 4 de enero y el sábado 11 de enero es 1.
Ejemplos
En este ejemplo se determina la diferencia en días entre la fecha actual y la fecha de publicación de los títulos de la base de datos pubs.
USE pubs
GO
SELECT DATEDIFF(day, pubdate, getdate()) AS no_of_days
FROM titles
GO
Véase también
CAST y CONVERT
Tipos de datos
Funciones de fecha y hora

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas