У меня есть данные в следующем формате даты. '27 -SEP-97 ', т.е. DD-MON-YY
Теперь я хочу преобразовать это в YYYYMMDD. Для этого я использую следующий скрипт.
TO_CHAR(TO_DATE(CHD_DATE_FIRST_ACT,'DD-MON-YY'),'YYYYMMDD')
но это дает мне следующий результат.
20970927
Я хочу, чтобы эти данные были в формате YYYYMMDD, так что вывод выглядит как this- 19970927
Если "27 -SEP-97" - это строка (это то, что предлагают ваши слова), тогда такая комбинация TO_this и TO_that может выполнить эту работу:
SQL> with test as (select '27-SEP-97' datum from dual)
2 select to_char(to_date(datum, 'dd-mon-rr', 'nls_date_language = english'), 'yyyymmdd') result
3 from test;
RESULT
--------------------------------------------------------------------------------
19970927
SQL>
--USE RR вместо YY в вашем запросе.
выберите TO_CHAR (TO_DATE ('27 -SEP-97 ',' DD-MON-RR '),' YYYYMMDD ') из dual;
Вы можете использовать функции mysql replace
и str_to_date
replace
принимает 3 аргумента, как показано ниже replace(string,find_string,replace_with)
вы должны просто заменить -
пустой строкой
если ваша str является "27 -SEP-97", чтобы получить результат как 19970927
выполните следующее в mysql
select replace(str_to_date('27-SEP-97','%d-%b-%Y'),'-','') as date;
выход
+----------+
| date |
+----------+
| 19970927 |
+----------+
%b
используется для обозначения сокращенного имени месяца
щелкните приведенные ниже ссылки, чтобы узнать больше о функциях даты и времени mysql
Функции данных и времени Mysql
97
означает 1997 или 2097? - Проблема 2000 года , невероятно, что эта проблема все еще существует. Я думаю, что основная причина заключается в том, что большинство современных разработчиков программного обеспечения были еще детьми, когда проблема 2000 года была самой обсуждаемой темой во всем мире ИТ.