Others

How to Format MS Access Dates as YYYY-MM-DD While Filtering Time Values

Maira MehtabMaira Mehtab Nov 3, 2026 869 views

Question details

The user needs to display Microsoft Access Date/Time values in a 'YYYY-MM-DD' format while ensuring that data filtering queries accurately retrieve records, especially when underlying records contain time values.

How to Format Access Dates as YYYY-MM-DD While Filtering Date and Time Values
Product
Microsoft Access
Device & OS
not provided
Scenario
Writing an SQL query in Microsoft Access to format a date column for display and simultaneously filter records for a specific date.
Observed behavior
Applying a filter criterion directly to the output of the Format function fails or returns incorrect results, as formatting converts the date into a text string and ignores hidden time components.
Before you start

Verify whether your Access Date/Time column stores only plain dates or includes time stamps, as this will dictate how you need to structure the WHERE clause in your query.

Solution 1Recommended

Filter the Original Date Field Using a Range

Apply filter criteria to the original Date/Time column rather than the formatted string, utilizing a date range to safely capture records that contain hidden time values.

When you use the Format function in Access, it converts the underlying date data into a text string strictly for display purposes. Applying a WHERE filter on this formatted text string is inefficient and can break query logic.

To accurately filter records that might contain hidden time values (for example, '2021-12-01 14:30:00'), you should query the original Date/Time column using a 'greater than or equal to' and 'strictly less than' date range boundary.

1
Format the SELECT clause for display

Use the Format function exclusively in your SELECT statement to control how the date is presented to the user. For example: SELECT Format(PROD_MPI999.EFF_DATE, 'yyyy-mm-dd') AS FormattedDate

2
Set the WHERE clause using a date range

Create a logical boundary for the specific date on the raw database field. To filter records specifically for December 1, 2021, enter: WHERE PROD_MPI999.END_DATE >= #2021-12-01# AND PROD_MPI999.END_DATE < #2021-12-02#;

Date Enclosures: Always enclose date literal values in Access SQL with the pound sign (#) so the database engine correctly identifies them as Date/Time variables instead of text or mathematical operations.
Free Microsoft Office alternative

Manage and Filter Data Easily with WPS Office

While Microsoft Access is a powerful tool for building complex relational databases, many common data tracking, filtering, and date formatting tasks can be handled much more easily in spreadsheet software. WPS Office offers a lightweight, free alternative to Microsoft Office, providing robust data management without the need to write complex SQL queries.

  1. 1. Open your data file: Launch WPS Spreadsheets and open your exported database file or existing spreadsheet.
  2. 2. Apply date formatting: Select the column containing your dates, right-click, select 'Format Cells', and set a Custom format of 'yyyy-mm-dd'.
  3. 3. Filter records visually: Navigate to the 'Data' tab and click 'AutoFilter' to seamlessly filter out dates or specific date ranges using dropdown checkboxes.
Easily format dates to YYYY-MM-DD or any custom layout using intuitive cell formatting menus.Filter complex date and time ranges visually without writing SQL WHERE clauses.Fully compatible with Microsoft Excel (.xlsx) formats for seamless data migration.Free and lightweight alternative to heavy database software for everyday data processing tasks.
microsoft office alternative - wps office

Frequently Asked Questions

Why does my Access query return no results when filtering a formatted date?

When you use the Format() function, Access converts the Date/Time value into a text string. If you try to filter this text string using standard date operators, the query logic will fail or evaluate as a string comparison. Always apply your filters to the original Date/Time column.

How do I completely ignore the time part in an Access date field query?

The most efficient and reliable way to ignore the time component is to use a date range in the WHERE clause. For example, to find all records on December 1, use: >= #2021-12-01# AND < #2021-12-02#. This safely captures any time that falls on December 1.

Can I use the DateValue() function to filter out times instead of a date range?

Yes, you can use WHERE DateValue(YourDateField) = #2021-12-01#. However, using DateValue() on a column prevents Access from utilizing table indexes, making your query run significantly slower on large datasets. A date range (>= and <) is highly recommended for performance.

What does the pound sign (#) mean in Access SQL queries?

The pound sign (#) is utilized in Microsoft Access SQL to enclose date literals. It explicitly instructs the database engine that the enclosed value should be interpreted and evaluated as a Date/Time data type rather than a standard text string or a mathematical subtraction.