MySQL字符串轉時間詳解

一、MySQL字符串轉時間格式

MySQL字符串轉時間格式是開發中經常遇到的問題,轉換的方式有多種,下面介紹兩種常用的方式:

1、使用STR_TO_DATE函數可以將字符串轉為時間格式:

SELECT STR_TO_DATE('2021-02-12 12:30:45', '%Y-%m-%d %H:%i:%s');

解釋:

STR_TO_DATE函數需要兩個參數,第一個參數是需要轉換的字符串,第二個參數是字符串的格式。例如上面的例子中,字符串的格式是’%Y-%m-%d %H:%i:%s’,其對應的是年月日時分秒。

2、使用日期/時間函數可以將字符串轉為時間格式:

SELECT DATE_FORMAT('2021-02-12 12:30:45', '%Y-%m-%d %H:%i:%s');

解釋:

DATE_FORMAT函數需要兩個參數,第一個參數是需要轉換的字符串,第二個參數是需要轉換成的格式。例如上面的例子中,需要將字符串轉換成年月日時分秒的格式,所以第二個參數是’%Y-%m-%d %H:%i:%s’。

二、MySQL字符串轉整數

將字符串轉換為整數時需要使用CAST函數或者CONVERT函數。

1、使用CAST函數:

SELECT CAST('123' AS SIGNED);

解釋:

CAST函數需要兩個參數,第一個參數是需要轉換的字符串,第二個參數是需要轉換成什麼類型。例如上面的例子中,需要將字符串轉換成有符號的整數類型,所以第二個參數是SIGNED。

2、使用CONVERT函數:

SELECT CONVERT('123', SIGNED);

解釋:

CONVERT函數需要兩個參數,第一個參數是需要轉換的字符串,第二個參數是需要轉換成什麼類型。例如上面的例子中,需要將字符串轉換成有符號的整數類型,所以第二個參數是SIGNED。

三、MySQL字符串轉時間格式字符串

將字符串轉換成時間格式字符串時需要使用DATE_FORMAT函數。

SELECT DATE_FORMAT('2021-02-12 12:30:45', '%Y年%m月%d日 %H時%i分%s秒');

解釋:

DATE_FORMAT函數需要兩個參數,第一個參數是需要轉換的字符串,第二個參數是需要轉換成的格式。例如上面的例子中,需要將字符串轉換成’2021年02月12日 12時30分45秒’的格式,所以第二個參數是’%Y年%m月%d日 %H時%i分%s秒’。

四、MySQL字符串轉數組

將一個多列字符串轉換成數組時可以使用SUBSTRING_INDEX函數和TRIM函數。

SELECT TRIM(BOTH ' ' FROM SUBSTRING_INDEX('a,b,c,d', ',', 1)) AS col_1,
TRIM(BOTH ' ' FROM SUBSTRING_INDEX(SUBSTRING_INDEX('a,b,c,d', ',', 2), ',', -1)) AS col_2,
TRIM(BOTH ' ' FROM SUBSTRING_INDEX(SUBSTRING_INDEX('a,b,c,d', ',', 3), ',', -1)) AS col_3,
TRIM(BOTH ' ' FROM SUBSTRING_INDEX(SUBSTRING_INDEX('a,b,c,d', ',', 4), ',', -1)) AS col_4;

解釋:

SUBSTRING_INDEX函數需要三個參數,第一個參數是需要轉換的字符串,第二個參數是分隔符,第三個參數是需要取出的位置。例如上面的例子中,需要將字符串’a,b,c,d’轉換成數組,並且每個元素去掉空格。第一個元素可以使用SUBSTRING_INDEX(‘a,b,c,d’, ‘,’, 1)得到,取出的位置是1,也就是第一個。每個元素依次類推。

五、MySQL字符串轉時間函數

MySQL提供了許多函數可以將字符串轉換成時間類型,在這裡介紹幾個常用的函數。

1、NOW函數可以獲取當前時間:

SELECT NOW();

2、UNIX_TIMESTAMP函數可以將時間類型轉換為UNIX時間戳:

SELECT UNIX_TIMESTAMP('2021-02-12 12:30:45');

3、FROM_UNIXTIME函數可以將UNIX時間戳轉換為時間類型:

SELECT FROM_UNIXTIME(1613082645);

六、MySQL字符串轉時間格式hms

將字符串轉換為時間格式HMS時需要使用TIME_FORMAT函數。

SELECT TIME_FORMAT('12:30:45', '%H時%i分%s秒');

解釋:

TIME_FORMAT函數需要兩個參數,第一個參數是需要轉換的字符串,第二個參數是需要轉換成的格式。例如上面的例子中,需要將字符串’12:30:45’轉換成’12時30分45秒’的格式,所以第二個參數是’%H時%i分%s秒’。

七、MySQL字符串轉數字

將字符串轉換為數字時可以使用CAST函數或CONVERT函數。

1、使用CAST函數:

SELECT CAST('123' AS SIGNED);

解釋:

CAST函數需要兩個參數,第一個參數是需要轉換的字符串,第二個參數是需要轉換成什麼類型。例如上面的例子中,需要將字符串轉換成有符號的整數類型,所以第二個參數是SIGNED。

2、使用CONVERT函數:

SELECT CONVERT('123', SIGNED);

解釋:

CONVERT函數需要兩個參數,第一個參數是需要轉換的字符串,第二個參數是需要轉換成什麼類型。例如上面的例子中,需要將字符串轉換成有符號的整數類型,所以第二個參數是SIGNED。

八、MySQL時間函數

MySQL提供了很多有用的時間函數,下面介紹其中的一部分。

1、DATE_ADD函數用於加上一個時間間隔:

SELECT DATE_ADD('2021-02-12', INTERVAL 1 DAY);

2、DATE_SUB函數用於減去一個時間間隔:

SELECT DATE_SUB('2021-02-12', INTERVAL 1 DAY);

3、DATEDIFF函數用於計算兩個日期之間的天數:

SELECT DATEDIFF('2021-02-12', '2021-02-10');

九、MySQL時間格式

MySQL支持多種時間格式,下面介紹一些常用的格式。

1、YYYY-MM-DD HH:MM:SS:

例如:2021-12-31 23:59:59

2、YYYY-MM-DD:

例如:2021-12-31

3、HH:MM:SS:

例如:23:59:59

4、UNIX_TIMESTAMP:

UNIX時間戳格式

十、MySQL轉換時間格式

MySQL提供了許多函數可以將時間轉換為指定的格式。

1、DATE_FORMAT函數可以將日期/時間格式化成指定的格式:

SELECT DATE_FORMAT('2021-02-12 12:30:45', '%Y年%m月%d日 %H時%i分%s秒');

2、STR_TO_DATE函數可以將字符串轉換成日期/時間格式:

SELECT STR_TO_DATE('2021-02-12', '%Y-%m-%d');

3、CONVERT_TZ函數可以將日期/時間轉換為指定時區的時間:

SELECT CONVERT_TZ('2021-02-12 12:30:45', '+00:00', '+08:00');

解釋:

CONVERT_TZ函數需要三個參數,第一個參數是日期/時間,第二個參數是原始時區,第三個參數是目標時區。例如上面的例子中,需要將UTC時間轉換為東八區時間,所以原始時區是+00:00,目標時區是+08:00。

原創文章,作者:CIWVA,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/370763.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
CIWVA的頭像CIWVA
上一篇 2025-04-22 01:14
下一篇 2025-04-22 01:14

相關推薦

  • 如何修改mysql的端口號

    本文將介紹如何修改mysql的端口號,方便開發者根據實際需求配置對應端口號。 一、為什麼需要修改mysql端口號 默認情況下,mysql使用的端口號是3306。在某些情況下,我們需…

    編程 2025-04-29
  • Python字符串寬度不限制怎麼打代碼

    本文將為大家詳細介紹Python字符串寬度不限制時如何打代碼的幾個方面。 一、保持代碼風格的統一 在Python字符串寬度不限制的情況下,我們可以寫出很長很長的一行代碼。但是,為了…

    編程 2025-04-29
  • Python中將字符串轉化為浮點數

    本文將介紹在Python中將字符串轉化為浮點數的常用方法。在介紹方法之前,我們先來思考一下這個問題應該如何解決。 一、eval函數 在Python中,最簡單、最常用的將字符串轉化為…

    編程 2025-04-29
  • Java判斷字符串是否存在多個

    本文將從以下幾個方面詳細闡述如何使用Java判斷一個字符串中是否存在多個指定字符: 一、字符串遍歷 字符串是Java編程中非常重要的一種數據類型。要判斷字符串中是否存在多個指定字符…

    編程 2025-04-29
  • Python學習筆記:去除字符串最後一個字符的方法

    本文將從多個方面詳細闡述如何通過Python去除字符串最後一個字符,包括使用切片、pop()、刪除、替換等方法來實現。 一、字符串切片 在Python中,可以通過字符串切片的方式來…

    編程 2025-04-29
  • Python操作MySQL

    本文將從以下幾個方面對Python操作MySQL進行詳細闡述: 一、連接MySQL數據庫 在使用Python操作MySQL之前,我們需要先連接MySQL數據庫。在Python中,我…

    編程 2025-04-29
  • 解決docker-compose 容器時間和服務器時間不同步問題

    docker-compose是一種工具,能夠讓您使用YAML文件來定義和運行多個容器。然而,有時候容器的時間與服務器時間不同步,導致一些不必要的錯誤和麻煩。以下是解決方法的詳細介紹…

    編程 2025-04-29
  • MySQL遞歸函數的用法

    本文將從多個方面對MySQL遞歸函數的用法做詳細的闡述,包括函數的定義、使用方法、示例及注意事項。 一、遞歸函數的定義 遞歸函數是指在函數內部調用自身的函數。MySQL提供了CRE…

    編程 2025-04-29
  • Python如何將字符串1234變成數字1234

    Python作為一種廣泛使用的編程語言,對於數字和字符串的處理提供了很多便捷的方式。如何將字符串“1234”轉化成數字“1234”呢?下面將從多個方面詳細闡述Python如何將字符…

    編程 2025-04-29
  • Python int轉二進制字符串

    本文將從以下幾個方面對Python中將int類型轉換為二進制字符串進行詳細闡述: 一、int類型和二進制字符串的定義 在Python中,int類型表示整數,二進制字符串則是由0和1…

    編程 2025-04-29

發表回復

登錄後才能評論