There are certain date functions in MySQL that the return a day name or month name. In particular, I’m referring to the DATE_FORMAT()
, DAYNAME()
, and MONTHNAME()
functions. These might return a value of say, November, or Monday, depending on the query being used. But the results could just as easily be returned in a different language if required.
The language that these functions use for their return value is derived from the lc_time_names
system variable. You can view the value of this variable or set its SESSION
value so that the results of these functions is in the desired language/locale.
Locale names have language and region subtags listed by the Internet Assigned Numbers Authority (IANA). Examples include en_US
for English – United States, en_NZ
for English – New Zealand, or es_PA
for Spanish – Panama, etc (for a list of locales supported by MySQL, see Full List of Locales in MySQL).
In this article, I’ll show you how to find the current locale for your connection, change it, and then see how it affects the results of a query. I also show you a function that’s immune to this setting (but don’t worry, this function allows you to specify the locale).
Continue reading →