SELECT
ship.warship_id AS ship_warship_id,
record_id,
replace_time,
platform,
give_dept,
receive_dept,
record.remark AS record_remark,
id,
receive_time,
repair_time,
type_id,
cxdw_id,
ch.file_id,
ch.remark AS ch_remark,
cxdw_name,
type_code,
type_name,
date_format(str_to_date(replace_time,'%Y-%m-%d'),'%Y.%m.%d') AS time_number
FROM
sys_warship ship
JOIN sys_replace_record record ON record.warship_id = ship.warship_id
LEFT JOIN sys_ch_record ch ON ch.type_id = ship.warship_id UNION ALL
SELECT
ship.warship_id AS ship_warship_id,
record_id,
replace_time,
platform,
give_dept,
receive_dept,
record.remark AS record_remark,
id,
receive_time,
repair_time,
type_id,
cxdw_id,
ch.file_id,
ch.remark,
cxdw_name,
type_code,
type_name,
date_format(str_to_date(substring_index(repair_time,'-',1),'%Y.%m.%d'),'%Y.%m.%d') AS time_number
FROM
sys_warship ship
JOIN sys_ch_record ch ON ch.warship_id = ship.warship_id
LEFT JOIN sys_replace_record record ON record.warship_id = ch.type_id
ORDER BY
time_number desc
substring_index(repair_time,'-',1) -- 截取 第一個-前面的字符串
STR_TO_DATE(replace_time,'%Y%m%d %H:%i:%s') ---- 轉爲時間格式
concat( ifNULL(replace_time,'' ) AS time_number 將replace_time 字段的數據複製到time_number 裏面
注意:轉時間格式的時候要看清楚被轉字符串的格式--------以下是詳細的函數的表達式
date_format(date,'%Y-%m-%d') -------------->oracle中的to_char();
str_to_date(date,'%Y-%m-%d') -------------->oracle中的to_date();
%Y:代表4位的年份
%y:代表2爲的年份
%m:代表月, 格式爲(01……12)
%c:代表月, 格式爲(1……12)
%d:代表月份中的天數,格式爲(00……31)
%e:代表月份中的天數, 格式爲(0……31)
%H:代表小時,格式爲(00……23)
%k:代表 小時,格式爲(0……23)
%h: 代表小時,格式爲(01……12)
%I: 代表小時,格式爲(01……12)
%l :代表小時,格式爲(1……12)
%i: 代表分鐘, 格式爲(00……59)
%r:代表 時間,格式爲12 小時(hh:mm:ss [AP]M)
%T:代表 時間,格式爲24 小時(hh:mm:ss)
%S:代表 秒,格式爲(00……59)
%s:代表 秒,格式爲(00……59)
參考:https://blog.csdn.net/u013456370/article/details/52487807 寫的很細