程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> MySQL字符串類型轉換時間類型

MySQL字符串類型轉換時間類型

編輯:MySQL綜合教程

如果MySQL數據庫裡面的某個時間用的是varchar(或者是char)類型的,這樣可以方便系統使用而不用隨便轉換時間類型來適應數據庫版本的不同,當要把取出的字段轉換成時間類型的時候,可以按如下方法操作:

(1)str_to_date

這個函數可以把字符串時間完全的翻譯過來

SQL語句可以這樣寫:

    SELECT str_to_date(`tablename`.`eventTime`,'%Y-%m-%d %H:%i:%s') from tablename

數據庫中eventTime的類型是VARCHAR(20),這樣就可以將類型抓換成時間類型。

(2)to_days

就像它的名字一樣,它只能轉換到每一天,就是說一天的時間字符串會被轉換成一個數

 

轉:

字符串類型轉成時間類型,字符串值必須滿足2010-10-19 17:08:00模式。

SELECT STR_TO_DATE('04/31/2004,13:2:26', '%m/%d/%Y,%H:%i:%s');成功。

注意,模式區分大小寫。
SELECT STR_TO_DATE('2010 - 10 - 19, 17 : 08', '%Y - %m - %d, %H : %i');不成功。
SELECT STR_TO_DATE('2010-10-19,17:08', '%Y-%m-%d,%H:%i');去除所有空格後成功。
SELECT STR_TO_DATE(replace(createTime,' ',''), '%Y-%m-%d,%H:%i') from upload;預先顯示轉換結果。符合預期。
正式轉換如下:
update upload set createTime=STR_TO_DATE(replace(createTime,' ',''), '%Y-%m-%d,%H:%i');
update uzer set createTime=STR_TO_DATE(replace(createTime,' ',''), '%Y-%m-%d,%H:%i');
update hlog set createTime=STR_TO_DATE(replace(createTime,' ',''), '%Y-%m-%d,%H:%i');
再將列定義轉為datetime類型。
另外要注意,mysql只精確到秒而已

注:
%W 星期名字(Sunday……Saturday) 
%D 有英語前綴的月份的日期(1st, 2nd, 3rd, 等等。) 
%Y 年, 數字, 4 位 
%y 年, 數字, 2 位 
%a 縮寫的星期名字(Sun……Sat) 
%d 月份中的天數, 數字(00……31) 
%e 月份中的天數, 數字(0……31) 
%m 月, 數字(01……12) 
%c 月, 數字(1……12) 
%b 縮寫的月份名字(Jan……Dec) 
%j 一年中的天數(001……366) 
%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) 
%p AM或PM 
%w 一個星期中的天數(0=Sunday ……6=Saturday ) 
%U 星期(0……52), 這裡星期天是星期的第一天 
%u 星期(0……52), 這裡星期一是星期的第一天 
%% 一個文字“%”。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved