PARSENAME (Transact-SQL)
傳回物件名稱的指定部分。 物件的可擷取部分有物件名稱、擁有者名稱、資料庫名稱和伺服器名稱。
注意
PARSENAME 函數並不會指出指定名稱的物件是否存在。PARSENAME 只會傳回指定物件名稱的指定部份。
適用於:SQL Server (SQL Server 2012 透過目前版本)、Windows Azure SQL 資料庫 (初始版本,透過目前版本)。 |
語法
PARSENAME ( 'object_name' , object_piece )
引數
'object_name'
這是要擷取指定物件部分的物件名稱。 object_name 是 sysname。 這個參數是一個選擇性限定的物件名稱。 如果限定了物件名稱的所有部分,這個名稱會有四個部分:伺服器名稱、資料庫名稱、擁有者名稱和物件名稱。object_piece
這是要傳回的物件部分。 object_piece 的類型是 int,它可以有下列這些值:1 = 物件名稱
2 = 結構描述名稱
3 = 資料庫名稱
4 = 伺服器名稱
傳回類型
nchar
備註
如果符合下列條件之一,PARSENAME 會傳回 NULL:
object_name 或 object_piece 為 NULL。
發生語法錯誤。
要求的物件部份,長度為 0,不是有效的 Microsoft SQL Server 識別碼。 長度為零的物件名稱會將完整名稱轉譯為無效。
範例
下列範例會利用 PARSENAME 來傳回 AdventureWorks2012 資料庫中之 Person 資料表的相關資訊。
USE AdventureWorks2012;
SELECT PARSENAME('AdventureWorks2012..Person', 1) AS 'Object Name';
SELECT PARSENAME('AdventureWorks2012..Person', 2) AS 'Schema Name';
SELECT PARSENAME('AdventureWorks2012..Person', 3) AS 'Database Name';
SELECT PARSENAME('AdventureWorks2012..Person', 4) AS 'Server Name';
GO
以下為結果集:
Object Name
------------------------------
Person
(1 row(s) affected)
Schema Name
------------------------------
(null)
(1 row(s) affected)
Database Name
------------------------------
AdventureWorks2012
(1 row(s) affected)
Server Name
------------------------------
(null)
(1 row(s) affected)