Cómo realizar un cambio en las fechas con funciones y operadores en Access

Nota

Office 365 ProPlus pasa a llamarse Microsoft 365 Apps para empresas. Para obtener más información sobre este cambio, lea esta publicación de blog.

Este artículo se aplica a un archivo de base de datos de Microsoft Access (. mdb) o a un archivo de base de datos de Microsoft Access (. accdb) y a un archivo de proyecto de Microsoft Access (. ADP).

Moderado: requiere habilidades básicas de macros, codificación e interoperabilidad.

Resumen

En este artículo se describen las funciones y los operadores que están disponibles en Microsoft Office Access 2007, en Microsoft Office Access 2003 y en Microsoft Access 2002. Puede usar las funciones y los operadores para realizar un cambio en el tipo de datos de fecha y hora mediante consultas de ejemplo. Las consultas de ejemplo que puede usar para realizar un cambio en los valores de fecha usan las tablas de la base de datos de ejemplo Neptuno. mdb.

Nota

La base de datos de ejemplo Neptuno para Access 2007 no utiliza los mismos campos que las versiones anteriores de la base de datos de ejemplo Northwind. No hay ningún campo HireDate y FechaNacimiento en la tabla Employees que se incluye con la base de datos de ejemplo Northwind para Access 2007. Se ha cambiado el nombre del campo IdEmpleado por el del campo Nombre y se le ha cambiado el nombre al campo nombre.

Más información

Access proporciona operadores y funciones para validar o realizar un cambio en los campos con el tipo de datos fecha/hora. En las consultas de ejemplo siguientes se usan las manipulaciones de fecha, las funciones de cálculo y los operadores de comparación que están disponibles en Access.

Microsoft proporciona ejemplos de programación con fines ilustrativos únicamente, sin ninguna garantía, ya sea expresa o implícita. Esto incluye, entre otras, las garantías implícitas de comerciabilidad e idoneidad para un fin determinado. Se considera que está familiarizado con el lenguaje de programación que se muestra y con las herramientas para crear y depurar procedimientos. Los ingenieros de soporte técnico de Microsoft pueden explicarle la funcionalidad de un determinado procedimiento. Sin embargo, no modificarán estos ejemplos para proporcionar una funcionalidad agregada ni crear procedimientos que se ajusten a sus requisitos específicos.

Función Date (), Now () y Format (), función

SELECT Date (), Now ();

La función Date () devuelve la fecha actual en el formato de fecha corta. La función Now () devuelve la fecha actual con la hora.

Seleccione formato (ahora (), "DD mmmm yyyy");

Puede usar la función Format () con valores de fecha para especificar el formato de fecha que desea usar para la fecha. Esta consulta de ejemplo devuelve la fecha actual en el formato de fecha larga (01 de diciembre de 2003).

La función Day (), la función WeekDay (), la función month () y la función Year ()

SELECT HireDate, Day(HireDate) AS Day,
Weekday(HireDate) AS WeekDay,
Month(HireDate) AS Month, Year(HireDate) AS Year 
FROM Employees;

En la tabla Employees, esta consulta devuelve la fecha de contratación, el día de contratación, el día de la semana de contratación, el mes de contratación y el año de contratación para cada empleado. Observe que la función WeekDay () devuelve un valor numérico que indica el día de la semana.

Función DatePart ()

SELECT *  FROM Employees
WHERE DatePart("yyyy", BirthDate) < 1960;

En la tabla Employees, esta consulta devuelve todos los empleados nacidos antes del año 1960. La función DatePart () se puede usar para extraer la parte de la fecha especificada, como el día, el mes o el año.

Función DateDiff ()

SELECT EmployeeID, FirstName, BirthDate,
DateDiff("yyyy", BirthDate, Date()) AS Age
FROM Employees;

En la tabla Employees, esta consulta devuelve el identificador de empleado, el nombre, la fecha de nacimiento y la antigüedad de cada empleado. La función DateDiff () devuelve la diferencia o el intervalo de tiempo entre los dos valores de fecha especificados (en términos del día, mes, año o unidades de tiempo, como horas, minutos y segundos).

Función DateAdd ()

SELECT EmployeeID, FirstName, HireDate,
DateAdd("yyyy", 10, HireDate)
FROM Employees;

En la tabla Employees, esta consulta devuelve el identificador de empleado, el nombre, la fecha de contratación y la fecha en que el empleado finaliza 10 años de servicio con la empresa. La función DateAdd () incrementa una fecha en un número especificado de unidades de tiempo, como un día, un mes o un año y, a continuación, devuelve el valor resultante.

Puede Agregar un valor numérico a un valor de fecha directamente. Haga esto para incrementar el valor de fecha en un día, como en el ejemplo siguiente:

Seleccione fecha () + 1;

Esta consulta incrementa la fecha actual en un día y, a continuación, devuelve el valor de fecha resultante.

Función DateValue ()

Seleccione DateValue ("20 de noviembre de 2003") como ValidDate;

La función DateValue () comprueba si la cadena de entrada es una fecha válida. Si la cadena de entrada se reconoce como una fecha válida, la fecha se devuelve en formato de fecha corta. Si la cadena de entrada no se reconoce como una fecha válida, se devuelve la instrucción "no coinciden los tipos de datos de la expresión de criterios". La función DateValue () reconoce varios formatos de fecha, como MM DD YYYY, dd mm aaaa, dd mmm YYYY y el formato de fecha larga dd mmm YYYY HH: mm: SS.

Función DateSerial ()

SELECT DateSerial (2003, 03, 1-1);

La función DateSerial () devuelve el valor de fecha de los parámetros de entrada especificados de Year, month y Day. Los parámetros de entrada pueden ser expresiones que implican operaciones aritméticas. La función DateSerial () evalúa las expresiones de los parámetros de entrada antes de devolver el valor de fecha resultante.

Esta consulta de ejemplo devuelve el último día del mes de febrero del año 2003. El último parámetro de entrada para el día con el valor 1 se reduce en 1. El resultado es que el parámetro month se evalúa como 2.

Usar operadores de comparación con valores de fecha

Puede usar los siguientes operadores de comparación para comparar los valores de fecha en expresiones y en consultas:

  • < (menor que)
  • >(mayor que)
  • <= (menor o igual que)
  • >= (mayor o igual que)
  • <> (no es igual)
SELECT * FROM Employees
WHERE HireDate >= DateValue(" 10/01/1993")
AND HireDate <= DateValue("12/31/1993");

Esta consulta usa el operador de comparación >= y el operador de comparación <= para comprobar si la fecha de contratación del empleado cae en el intervalo de las dos fechas especificadas. Esta consulta obtiene los registros de todos los empleados contratados en el último trimestre del año civil 1993.

SELECT * FROM Employees
WHERE HireDate <> Date();

Esta consulta usa el operador de comparación de desigualdad para capturar los registros de todos los empleados que tienen una fecha de contratación que no es igual a la fecha actual.

Función WeekdayName ()

Seleccione WeekdayName (1, false, 1) como FirstWeekDayName;

La función WeekdayName () devuelve una cadena que indica el día de la semana, como se especifica en el primer parámetro. La cadena de día de la semana que se devuelve depende del tercer parámetro. Este parámetro establece el primer día de la semana. El segundo parámetro se establece en false para especificar que el nombre del día de la semana no se debe abreviar.

Esta consulta de ejemplo devuelve el valor Domingo como el primer día de la semana.

Función MonthName ()

Seleccione MonthName (1);

La función MonthName () devuelve una cadena que indica el nombre del mes para el número de mes especificado de 1 a 12. El parámetro de entrada también puede ser una expresión, como en la siguiente consulta:

SELECT MonthName (DatePart ("m", Date ()));

Esta consulta devuelve el nombre del mes actual.

Referencias

Para obtener más información, haga clic en los números de artículo siguientes para ver los artículos en Microsoft Knowledge Base:

  • 290178 cómo crear una consulta que tiene parámetros para evaluar criterios complejos en Microsoft Access
  • 290190 cómo crear dos funciones para calcular la antigüedad en meses y años en Microsoft Access