MySQL 設計精妙,能夠實現許多高級操作,其中一項內容是將一列轉換為多列。這些轉換可用于各種應用,例如將時間戳轉換為日期時間,將電子郵件地址轉換為用戶名和域名部分等等。在本文中,我們將了解如何使用 MySQL 在列之間轉換數據。
SELECT SUBSTRING_INDEX(`time_column`, ' ', 1) AS `date`, SUBSTRING_INDEX(`time_column`, ' ', -1) AS `time` FROM `table_name`;
在上面的查詢中,我們將時間列拆分為日期和時間兩個列。我們使用 SUBSTRING_INDEX 函數來查找日期和時間分隔符。對于日期,我們選擇第一個出現的空格,對于時間,我們選擇最后一個空格。
SELECT SUBSTRING_INDEX(`email_column`, '@', 1) AS `username`, SUBSTRING_INDEX(`email_column`, '@', -1) AS `domain` FROM `table_name`;
在這個查詢中,我們將電子郵件地址分成用戶名和域名兩個列。我們使用與前一個查詢相同的表達式,但這一次我們使用 @ 符號來查找電子郵件地址中的分隔符。
這些是轉換單一列到多個列的兩個示例。這項技術可用于許多不同的數據類型和用例。希望這篇文章能為你提供一個好的開端。