SQL 中的轉換函式


有時,SQL 查詢可能期望某種資料型別,但得到的是另一種。在這種情況下,SQL 會進行型別轉換。這是隱式型別轉換。但是,有時程式設計師會在查詢中顯式地將一種資料型別轉換為另一種資料型別。這稱為顯式型別轉換。以下將詳細介紹這兩種型別轉換。

隱式資料型別轉換

在隱式資料型別轉換中,SQL 程式設計師無需指定任何內容。系統會根據其要求將一種資料型別轉換為另一種資料型別。例如,如果需要,數值資料型別可以轉換為字元型別,反之亦然。

只有在查詢中使用的資料型別有效,以便系統能夠識別並根據需要進行轉換時,才會發生隱式資料型別轉換。對於無效或錯誤提供的資料型別,這是不可能的。

顯式資料型別轉換

如果程式設計師希望,他們可以顯式地將資料型別從一種形式轉換為另一種形式。為此目的提供了 SQL 函式。這些 SQL 函式為:

TO_CHAR

此函式用於將數字或日期資料型別顯式轉換為字元型別。

此函式的語法如下所示:

TO_CHAR(number,format,parameters)

此函式根據語法中提供的特定格式將數字更改為字元。可以使用引數指定小數字符、組分隔符等。

例如:

SELECT CHAR(sysdate, “Month DD,YYYY”) FROM DUAL;

這將以 2018 年 7 月 31 日的形式返回系統日期。

TO_NUMBER

此函式用於將字串顯式轉換為數字。如果要轉換的字串不包含數字字元,則 TO_NUMBER 會顯示錯誤。

此函式的語法如下所示:

TO_NUMBER(number,format,parameters)

此函式根據語法中提供的特定格式將給定的字串更改為數字。

引數和格式是可選的,因此可以將字串轉換為數字。

例如:

TO_NUMBER (‘353.78’);

這將以數字格式返回字串 353.78。

TO_DATE

此函式接受字元值並以日期格式返回輸出。

此函式的語法如下所示:

TO_DATE(number, format, parameters)

此函式根據語法中提供的特定格式將給定的字串更改為數字。

SELECT TO_DATE(‘2018/07/31’,’yyyy/mm/dd’) FROM DUAL;

此函式以字元格式獲取值,並根據指定的格式將其返回為日期格式。

更新於: 2020-06-20

2K+ 次檢視

開啟您的 職業生涯

透過完成課程獲得認證

開始學習
廣告

© . All rights reserved.