mirror of
https://github.com/MariaDB/server.git
synced 2025-11-18 19:56:17 +01:00
Adding support for the "FM" format in function TO_CHAR(date_time, fmt).
"FM" in the format string disables padding of all components following it.
So now TO_CHAR() works as follows:
- By default string format components DAY (weekday name) and
MONTH (month name) are right-padded with spaces to the maximum
possible DAY and MONTH name lengths respectively,
according to the current locale specified in @@lc_time_names.
So for example, with lc_time_names='en_US' all month names are
right-padded with spaces up to 9 characters ('September' is the longest).
SET lc_time_names='en_US';
SELECT TO_CHAR('0001-02-03', 'MONTH'); -> 'February ' (padded to 9 chars)
NEW: When typed after FM, DAY and MONTH names are not right-padded
with trailing spaces any more:
SET lc_time_names='en_US';
SELECT TO_CHAR('0001-02-03', 'FMMONTH'); -> 'February' (not padded)
- By default numeric components YYYY, YYY, YY, Y, DD, H12, H24, MI, SS
are left-padded with leading digits '0' up to the maximum possible
number of digits in the component (e.g. 4 for YYYY):
SELECT TO_CHAR('0001-02-03', 'YYYY'); -> '0001' (padded to 4 chars)
NEW: When typed after FM, these numeric components are not left-padded
with leading zeros any more:
SELECT TO_CHAR('0001-02-03', 'FMYYYY'); -> '1' (not padded)
- If FM is specified multiple times in a format string,
every FM negates the previous padding state:
* an odd FM disables padding
* an even FM enables padding
Implementation details:
- Adding a helper class Date_time_format_oracle.
- Adding a helper method Date_time_format_oracle::append_lex_cstring()
- Moving the function append_val() to Date_time_format_oracle as a method.
- Moving the function make_date_time_oracle() to Date_time_format_oracle
as a method format().
- Adding helper methods month_name() and day_name() in class MY_LOCALE,
to return the corresponding components as LEX_CSTRINGs.
|
||
|---|---|---|
| .. | ||
| anonymous_derived.result | ||
| binlog_ptr_mysqlbinlog.result | ||
| binlog_stm_ps.result | ||
| binlog_stm_sp.result | ||
| binlog_stm_sp_package.result | ||
| column_compression.result | ||
| custom_aggregate_functions.result | ||
| empty_string_literal.result | ||
| events.result | ||
| exception.result | ||
| func_add_months.result | ||
| func_case.result | ||
| func_concat.result | ||
| func_decode.result | ||
| func_length.result | ||
| func_misc.result | ||
| func_pad.result | ||
| func_qualified.result | ||
| func_regexp_replace.result | ||
| func_replace.result | ||
| func_substr.result | ||
| func_time.result | ||
| func_to_char.result | ||
| func_trim.result | ||
| gis-debug.result | ||
| gis.result | ||
| information_schema_parameters.result | ||
| keywords.result | ||
| minus.result | ||
| misc.result | ||
| mysqldump_restore.result | ||
| mysqldump_restore_func_qualified.result | ||
| parser.result | ||
| plugin.result | ||
| ps.result | ||
| rpl_mariadb_date.result | ||
| rpl_sp_package.result | ||
| rpl_sp_package_variables.result | ||
| sequence.result | ||
| sp-anchor-row-type-table.result | ||
| sp-anonymous.result | ||
| sp-code.result | ||
| sp-cursor-decl.result | ||
| sp-cursor-rowtype.result | ||
| sp-cursor.result | ||
| sp-expr.result | ||
| sp-goto-debug.result | ||
| sp-goto.result | ||
| sp-inout.result | ||
| sp-memory-leak.result | ||
| sp-package-code.result | ||
| sp-package-concurrent-dml-db.result | ||
| sp-package-concurrent-dml-package.result | ||
| sp-package-concurrent-dml-trigger.result | ||
| sp-package-concurrent-dml-view.result | ||
| sp-package-i_s.result | ||
| sp-package-innodb.result | ||
| sp-package-mdl.result | ||
| sp-package-mysqldump.result | ||
| sp-package-security.result | ||
| sp-package.result | ||
| sp-param.result | ||
| sp-row.result | ||
| sp-security.result | ||
| sp.result | ||
| statement-expr.result | ||
| table_value_constr.result | ||
| trigger.result | ||
| truncate.result | ||
| type_blob.result | ||
| type_clob.result | ||
| type_date.result | ||
| type_number.result | ||
| type_raw.result | ||
| type_varchar.result | ||
| type_varchar2.result | ||
| update.result | ||
| update_innodb.result | ||
| variables.result | ||
| vcol.result | ||
| vcol_innodb.result | ||
| versioning.result | ||
| win.result | ||