Удалите отметку времени из нескольких столбцов даты в операторе выбора (MySQL) - PullRequest
0 голосов
/ 08 июля 2019

В настоящее время я пытаюсь удалить метку времени из нескольких столбцов даты.На самом деле большинство столбцов в операторе выбора содержат даты.Я хотел бы удалить отметку времени из всех значений даты в результатах моего запроса.Можно ли это сделать в MySQL?

выберите дату (столбец1, столбец2, столбец3 ...) ОТ ... не похоже на работу.выберите ДАТА (столбец1), ДАТА (столбец2), ДАТА (столбец3) .... похоже, тоже не работает

SELECT 
col1,
col2,
col3, //this is a date field
col4  //this is a date field
FROM table1
UNION 
SELECT 
col1,
col2, //this is a date field
col3, //this is a date field
col4 //this is a date field
FROM table2

Все значения даты не должны включать отметку времени

Ответы [ 2 ]

2 голосов
/ 08 июля 2019

Простой подход состоит в том, чтобы просто использовать функцию DATE() вместе с псевдонимом для любого вызова каждого столбца приведения:

SELECT 
    col1,
    col2,
    DATE(col3) AS col3,
    DATE(col4) AS col4
FROM table1
UNION 
SELECT
    col1,
    DATE(col2) AS col2,
    DATE(col3) AS col3,
    DATE(col4) AS col4
FROM table2;
1 голос
/ 08 июля 2019

Канонический способ использует date():

SELECT col1, col2,
       DATE(col3) as col3, //this is a date field
       DATE(col4) as col4  //this is a date field
FROM table1
UNION ALL
SELECT col1, col2,
       DATE(col3) as col3, //this is a date field
       DATE(col4) as col4  //this is a date field
FROM table2;

Вы также можете использовать CAST(col3 as DATE).

Или, если проблема в том, что вы все еще видите компонент времени даже при просмотре результатов, вы можете преобразовать в строку:

DATE_FORMAT(col3, '%Y-%m-%d')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...