配置和轉換功能
SQL 中配置函式的一個示例是 @@SERVERNAME
函式。此函式提供執行 SQL 的本地伺服器的名稱。
SELECT @@SERVERNAME AS 'Server'
伺服器 |
---|
SQL064 |
在 SQL 中,大多數資料轉換都是隱式發生的,無需任何使用者干預。
要執行無法隱式完成的任何轉換,你可以使用 CAST
或 CONVERT
函式。
CAST
函式語法比 CONVERT
函式語法簡單,但它的功能有限。
在這裡,我們使用 CAST
和 CONVERT
函式將 datetime 資料型別轉換為 varchar
資料型別。
CAST
函式始終使用預設樣式設定。例如,它將使用格式 YYYY-MM-DD 表示日期和時間。
CONVERT
函式使用你指定的日期和時間樣式。在這種情況下,3 指定日期格式 dd / mm / yy。
USE AdventureWorks2012
GO
SELECT FirstName + ' ' + LastName + ' was hired on ' +
CAST(HireDate AS varchar(20)) AS 'Cast',
FirstName + ' ' + LastName + ' was hired on ' +
CONVERT(varchar, HireDate, 3) AS 'Convert'
FROM Person.Person AS p
JOIN HumanResources.Employee AS e
ON p.BusinessEntityID = e.BusinessEntityID
GO
投 | 兌換 |
---|---|
David Hamiltion 於 2003-02-04 被聘用 | David Hamiltion 於 04/02/03 被聘用 |
轉換函式的另一個例子是 PARSE
函式。此函式將字串轉換為指定的資料型別。
在函式的語法中,指定必須轉換的字串,AS
關鍵字,然後指定所需的資料型別。 (可選)你還可以指定應在其中格式化字串值的區域性。如果未指定,則使用會話的語言。
如果字串值無法轉換為數字,日期或時間格式,則會導致錯誤。然後,你需要使用 CAST
或 CONVERT
進行轉換。
SELECT PARSE('Monday, 13 August 2012' AS datetime2 USING 'en-US') AS 'Date in English'
英文日期 |
---|
2012-08-13 00:00:00.0000000 |