mysql varchar類型轉datetime

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  寫的很細

 

發佈了35 篇原創文章 · 獲贊 7 · 訪問量 4萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章