oracle的convert()函數可以用于將一個值從一個數據類型轉換為另一個數據類型。它可以用于數字類型、日期類型和字符類型等。本文將介紹convert()函數的各種用法,并且通過舉例進行詳細說明。
convert()函數用于數字類型的轉換
當需要將數字類型轉換為其他數字類型時,可以使用convert()函數。例如:將一個整型轉換為浮點型。
SELECT CONVERT(FLOAT, 3) FROM DUAL; 輸出:3.00000000000000
在上述例子中,整數3被轉換為浮點數。使用convert()函數需要指定需要轉換成的數據類型。
convert()函數用于日期類型的轉換
convert()函數可以將日期或時間值從一種格式轉換為另一種格式。例如:將日期字符串轉換為日期類型。
SELECT CONVERT(DATE, '2022-02-22', 120) AS "日期" FROM DUAL; 輸出:日期 2022/02/22
在這個例子中,使用了convert()函數將日期字符串'2022-02-22'轉換為日期類型,并且指定了用于轉換的格式(120)。上述格式用于將日期字符串轉換為“日/月/年”格式。
convert()函數用于字符類型的轉換
當需要將字符類型從一種編碼格式轉換為另一種編碼格式時,可以使用convert()函數。
SELECT CONVERT(NVARCHAR(100), 'abcdefg', 936) AS "中文字符串" FROM DUAL; 輸出:中文字符串 abcdefg
在上述例子中,使用convert()函數將“abcdefg”這個字符串從默認的編碼格式轉換為GB2312編碼格式。
convert()函數的默認行為
如果未指定convert()函數的目標數據類型,則默認使用目標列的數據類型。
CREATE TABLE students( id INT PRIMARY KEY, name VARCHAR2(20), age CHAR(2) ); INSERT INTO students(id,name,age) VALUES(1, 'Mike', 20); INSERT INTO students(id,name,age) VALUES(2, 'Lucy', '19'); INSERT INTO students(id,name,age) VALUES(3, 'Lisa', '18'); SELECT id, age, CONVERT(age) FROM students; 輸出: ID AGE CONVERT(AGE) 1 20 20 2 19 19 3 18 18
在這個例子中,convert()函數默認使用目標列的數據類型。
小結
convert()函數在oracle中用于將值從一個數據類型轉換為另外一個數據類型。可以用于數字類型、日期類型和字符類型等。需要指定需要轉換成的數據類型。如果未指定數據類型則將使用目標字段的數據類型。