SQL轉換函數:輕鬆變換數據類型

Hello, 未來的SQL魔法師們!我很興奮能成為你們在SQL轉換函數這個精彩領域中的引路人。作為一個教SQL已經有數年的老師,我可以向你們保證,精通這些函數會讓你覺得自己手中有一根數據轉換的魔杖。那麼,我們一起來探索吧!

SQL - Conversion Functions

SQL轉換函數是什麼?

想像你參加了一個國際自助餐晚宴,每個人從自己的家國帶來一道菜。但這裡有一個問題 —— 你需要用一種大家都能理解的共同語言來描述食材。這正是SQL轉換函數對我們的數據所做的!它們幫助我們將數據從一種類型轉換到另一種類型,確保我們的數據庫能夠理解並一致地處理信息。

我們為什麼需要轉換函數?

在我們深入細節之前,讓我們了解一下這些函數為什麼如此重要:

  1. 數據一致性:確保所有數據都在同一個格式中。
  2. 計算:允許在不同數據類型間進行數學運算。
  3. 顯示格式化:幫助以用戶友好的方式展示數據。
  4. 數據整合:促進從各種來源合並數據。

現在,讓我們探討一些在SQL中最常見的轉換函數。

常見的SQL轉換函數

這裡是我們將要介紹的轉換函數表:

函數 描述
CAST() 將值轉換為指定的數據類型
CONVERT() 將值轉換為指定的數據類型或字符集
STR() 將數值數據轉換為字符串數據
TO_CHAR() 將數字或日期轉換為字符串
TO_NUMBER() 將字符串轉換為數字
TO_DATE() 將字符串轉換為日期

CAST() 函數

CAST()函數就像一個能夠扮演任何角色的天才演員。它可以将一個值從一種數據類型轉換為另一種。

SELECT CAST(25.65 AS INT) AS IntValue;

這個查詢將返回:

IntValue
--------
25

在這裡,我們讓SQL將25.65當作整數來處理。就像在真實生活中,當我們將浮點數轉為整數時,我們會失去小數部分。這就像問某人的年齡 —— 我們通常不會關心月和日!

CONVERT() 函數

CONVERT()是CAST()的更有多功能的表親。它不僅改變數據類型,還可以處理字符集的轉換。

SELECT CONVERT(VARCHAR(10), GETDATE(), 103) AS UKDate;

這可能會返回:

UKDate
----------
15/06/2023

在這個例子中,我們將今天的日期轉換為字符串,並以英國日期格式(DD/MM/YYYY)顯示。這就像擁有一個日期的萬能翻譯器!

STR() 函數

STR()是你將數字轉換為字符串的首選函數。它在格式化數字輸出時特別有用。

SELECT STR(123.45, 6, 1) AS FormattedNumber;

這會給我們:

FormattedNumber
---------------
123.5

在這裡,我們說:"將123.45給我,總共給我6個字符,並顯示1位小數。" 函數將123.45四捨五入到123.5,並添加一個前導空格以使它長達6個字符。這就像教一個數字如何為正式場合著裝!

TO_CHAR() 函數

TO_CHAR()是我們函數中的說書人。它能夠將數字和日期轉換為具有豐富格式化選項的字符串。

SELECT TO_CHAR(1234.56, '$9,999.99') AS FormattedCurrency;

這將返回:

FormattedCurrency
-----------------
$1,234.56

我們剛剛將一個普通的數字轉換為一個格式正確的貨幣字符串。這就像給你的數據做了一次大變身!

TO_NUMBER() 函數

TO_NUMBER()就像一個嚴格的夜總會保鏢。它只讓可以被有效轉換為數字的字符串進入。

SELECT TO_NUMBER('1,234.56', '9,999.99') AS ConvertedNumber;

這個查詢將給出:

ConvertedNumber
---------------
1234.56

在這裡,我們告訴SQL:"這個字符串看起來像一個帶有千位分隔符和兩位小數的數字。請把它變成一個真正的數字。" 這就像將金融術語翻譯成普通數字!

TO_DATE() 函數

最後但同樣重要的是,TO_DATE()是我們的時間機器。它將字符串轉換為日期,使我們能夠進行基於日期的操作。

SELECT TO_DATE('2023-06-15', 'YYYY-MM-DD') AS ConvertedDate;

這將返回:

ConvertedDate
-------------
2023-06-15

我們剛剛教SQL如何閱讀一個寫成字符串的日期。這就像教計算機閱讀日曆!

結論

恭喜你們!你們剛剛踏入了SQL轉換函數的奇妙世界。記住,這些函數是保證數據一致性和在不同數據類型間進行複雜運算的工具。

在你們繼續你的SQL旅程時,你們會發現無數創造性地使用這些函數的方法。它們就像你SQL工具包中的瑞士軍刀 —— 隨時準備幫助你切割、切 diced、並將你的數據轉換成你需要的樣子。

持續練習,保持好奇心,在你意識到之前,你將會像專家一樣轉換數據類型!祝你好運,未來的數據大師!

Credits: Image by storyset