oracle,mysql中字符串,date,timestamp轉換

查詢當前系統日期:sql

Oracle: select to_char(sysdate, 'yyyy-mm-dd')session

Mysql:select current_date或者 select curdate()ide

 

查詢當前系統時間:unix

Oracle: select to_char(sysdate, 'hh24:mi:ss')orm

Mysql: select curtime()或者 select current_time字符串

 

查詢系統日期和時間:string

Oracle: select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss')it

Mysql: select sysdate() 或者 select now()io

 

時間戳:ast

Oracle: select systimestamp

Mysql: select current_timestamp或者select current_timestamp()

 

字符串截取:

Oracle: substr(ch,pos,length)

注:pos 0 ,1均可以

Myslq: substr(str,pos,len) 或者 substring(str,pos,len)

注:pos從1開始

 

Oracle:

日期轉字符串:

to_char(date,format)

ex: select to_char(sysdate, 'yyyy-mm-dd hh24:mi:ss')

      select to_char(systimestamp, 'yyyy-mm-dd hh24:mi:ss.ff')

 

字符串轉timestamp:

ex:  to_timestamp('2017-09-29 10:49:42.322940', 'yyyy-mm-dd hh24:mi:ss.ff')

       to_timestamp(to_char(systimestamp, 'yyyy-mm-dd hh24:mi:ss.ff'),'yyyy-mm-dd hh24:mi:ss.ff')

 

字符串轉date

to_date(ch,fmt)

ex:  select to_date('2017-09-29 10:24:15', 'yyyy-mm-dd hh24:mi:ss')

 

date轉timestamp:

ex: select cast(sysdate as timestamp)

       select cast(to_date('2017-09-29 10:34:01', 'yyyy-mm-dd hh24:mi:ss') as timestamp)

 

時間戳轉date:

ex: to_date('19700101','yyyymmdd') + (時間戳) / 86400 +to_number(substr(tz_offset(sessiontimezone), 1, 3)) / 24

 

前一個月:

ex: select add_months(sysdate, -1) from dual

 

前一日:

ex: select sysdate - 1 from dual

 

前一天前一小時前一分鐘前一秒:

ex: select '前一天前一小時前一分鐘前一秒' TITLE, to_char(SYSDATE - 1 - 1 / 24 - 1 / 24 / 60 - 1 / 24/ 60 / 60, 'yyyy-mm-dd hh24:mi:ss') TIME

 

月份之差:

ex: select months_between(sysdate, to_date('2017-05-29', 'yyyy-mm-dd')) from dual

 

Mysql:

UNIX時間戳轉換爲日期:

from_unixtime(unix_timestamp,format)

參數:UNIX 時間戳返回值:字符串

ex:  from_unixtime (1506648322, '%Y-%m-%d %H:%i:%s' )

 

日期轉換爲UNIX時間戳:

unix_timestamp(date)

若是沒有參數調用,返回一個Unix時間戳(從'1970-01-01 00:00:00'GMT開始的秒數)

若是一個date參數被調用,返回從'1970-01-01 00:00:00' GMT開始到date的秒數值

ex: select unix_timestamp()

 

date轉字符串:

date_format(date,format)

ex: select date_format(now(), '%Y-%m-%d %H:%i:%s')

 

字符串轉date:

str_to_date(str,format)

ex: select str_to_date('2017-10-27 08:48:50', '%Y-%m-%d %H:%i:%s')

 

字符串轉時間戳:

ex: select unix_timestamp('2017-10-27 08:48:50')

結果:1509065330

 

時間戳轉字符串:

ex: select from_unixtime(1509065330, '%Y-%m-%d %H:%i:%s')

結果:2017-10-27 08:48:50

 

date轉時間戳:

ex: select unix_timestamp(now())

結果:1509066003

 

時間戳轉date:

ex: select from_unixtime(1509066003)

結果:2017-10-27 09:00:03

 

日期減去一個時間間隔:

date_sub()

ex:  date_sub(date, interval 1 day)

      date_sub(date, interval -1 day)

      date_sub(date, interval 1 month)

      date_sub(date, interval 1 year)

相關文章
相關標籤/搜索