Common SQL Errors

MySQL Error 90 EE_UNKNOWN_LDML_TAG: Unknown LDML tag – How to Fix and Prevent

Galaxy Team
August 5, 2025

MySQL throws EE_UNKNOWN_LDML_TAG (code 90) when a DATE_FORMAT or STR_TO_DATE pattern contains an unsupported or misspelled LDML tag.

Sign up for the latest in common SQL errors from the Galaxy Team!
Welcome to the Galaxy, Guardian!
You'll be receiving a confirmation email

Follow us on twitter :)
Oops! Something went wrong while submitting the form.

What is MySQL error code 90 EE_UNKNOWN_LDML_TAG?

MySQL Error 90: EE_UNKNOWN_LDML_TAG appears when a DATE_FORMAT-related function meets an unsupported LDML tag in its format string. Correct the tag spelling or replace it with a valid ICU LDML keyword to resolve the failure.

Error Highlights

Typical Error Message

Unknown LDML tag: '%.*s'. EE_UNKNOWN_LDML_TAG was added in 8.0.13.

Error Type

Runtime Error

Language

MySQL

Symbol

EE_UNKNOWN_LDML_TAG

Error Code

90

SQL State

Explanation

Table of Contents

What is MySQL error code 90 EE_UNKNOWN_LDML_TAG?

MySQL raises EE_UNKNOWN_LDML_TAG when it parses a format string that contains an invalid or unsupported Locale Data Markup Language (LDML) tag. The error is returned by date and time functions such as DATE_FORMAT, TIME_FORMAT, STR_TO_DATE, and the JSON date functions introduced in MySQL 8.0.13.

The server relies on the ICU library for international formatting. When it encounters an LDML placeholder it does not recognize, it stops execution and returns error 90.

Queries fail immediately, causing application interruptions and potential data pipeline breakdowns.

What Causes This Error?

Unsupported or mistyped LDML placeholders are the primary trigger. Tags like %Q or %E that are valid in strftime are not always valid in LDML, so copy-pasting legacy patterns can lead to the fault.

ICU version mismatches or disabling the ICU library at compile time can also surface the error.

The error can occur in computed columns, views, stored routines, or JSON path expressions, making it hard to trace when format strings are stored in metadata tables.

How to Fix MySQL Error 90 EE_UNKNOWN_LDML_TAG

Identify the failing function call, locate the offending format string, and replace or remove the unknown tag. Refer to the MySQL 8.0 manual or ICU LDML reference for valid symbols.

Running SELECT DATE_FORMAT(NOW(), '%Y-%m-%d'); confirms the fix.

On servers compiled without ICU, enable the --with-icu option or install a distribution package that includes full ICU support. Restart the instance and retest.

Common Scenarios and Solutions

Legacy PHP code that passes %e or %D from strftime to MySQL DATE_FORMAT often fails. Replace them with LDML-compliant %d or %E equivalents. JSON date formatting with JSON_OBJECT() must follow the same rules.

SQL generated by an ORM may embed locale-specific tags.

Configure the ORM to use ICU-compatible patterns, or sanitize input before it reaches MySQL.

Best Practices to Avoid This Error

Validate all format strings in unit tests using a simple SELECT DATE_FORMAT('2001-01-01','pattern') check.

Keep an allow-list of approved LDML patterns in a shared code library.

Galaxy’s SQL editor highlights ICU-invalid LDML tags and offers AI autocomplete for safe patterns, stopping EE_UNKNOWN_LDML_TAG before queries reach production.

Related Errors and Solutions

Error 92 EE_ILLEGAL_PARAMETER_VALUE surfaces when a DATE_FORMAT argument is out of range. Error 88 EE_UNKNOWN_CHARSET occurs if the specified charset is invalid. Both require validating input parameters and configuration before execution.

.

Common Causes

Related Errors

FAQs

Does EE_UNKNOWN_LDML_TAG only affect DATE_FORMAT?

No. Any function that relies on ICU date formatting, including TIME_FORMAT and JSON date helpers, can raise this error.

Can I disable ICU to bypass the error?

Disabling ICU forces MySQL to fall back to limited formats and is not recommended. Fix the tag or upgrade ICU instead.

What MySQL version introduced this error?

Error 90 was added in MySQL 8.0.13 alongside full ICU LDML support.

How does Galaxy help prevent EE_UNKNOWN_LDML_TAG?

Galaxy flags invalid LDML tags in its editor, offers AI fixes, and lets teams endorse safe patterns, stopping bad queries before deployment.

Start Querying with the Modern SQL Editor Today!
Welcome to the Galaxy, Guardian!
You'll be receiving a confirmation email

Follow us on twitter :)
Oops! Something went wrong while submitting the form.

Check out some other errors

Trusted by top engineers on high-velocity teams
Aryeo Logo
Assort Health
Curri
Rubie Logo
Bauhealth Logo
Truvideo Logo