Дата вставки My-SQL в формате '17 -DEC-80' - PullRequest
0 голосов
/ 04 мая 2018

Как мы можем вставить дату в формате '17 -DEC-80 '? Как найти последний день этого месяца? вот так я хочу вставить 10 дат в указанном формате и найти последний день месяца, указанного в дате.

Ответы [ 2 ]

0 голосов
/ 05 мая 2018

Чтобы следовать желаемому формату, используйте ниже;

select STR_TO_DATE('17-Dec-80', '%d-%b-%y');

Чтобы получить последний день месяца

select LAST_DAY(STR_TO_DATE('17-Dec-80', '%d-%b-%y'));
0 голосов
/ 04 мая 2018

Это может быть достигнуто с помощью внутренних функций STR_TO_DATE и DATE_FORMAT.

Вы можете вставить дату, если вы сопровождаете ее форматом, в котором вы ее предоставляете.

INSERT INTO DateFormats (DF_DATE_FIELD) VALUES (STR_TO_DATE('17-Dec-80', '%d-%b-%y'));

Вы также можете ВЫБРАТЬ такое же значение даты формата с помощью функции DATE_FORMAT (). Чтобы вернуть желаемое значение из таблицы, вы должны использовать

SELECT 
    DF_ID, 
    DF_DATE_FIELD,  
    DATE_FORMAT(DF_DATE_FIELD, '%d-%b-%y')
FROM DateFormats;

Предполагая, что DF_DATE_FIELD на самом деле является полем DATE или DATETIME. Также помните, что это чувствительно к регистру

Форматирование выглядит следующим образом

%d = Day of Month for 2 places (i.e 05, 12, 23)
%b = Abbreviated Month (i.e JAN, FEB, DEC)
%y = 2 digit year code (i.e 18, 80, 99)

Подробнее о форматировании На этой удобной странице W3 Schools

И используйте этот DBFiddle для справки

...