PARSENAME (Transact-SQL)

傳回物件名稱的指定部份。物件的可擷取部份有物件名稱、擁有者名稱、資料庫名稱和伺服器名稱。

ms188006.note(zh-tw,SQL.90).gif附註:
PARSENAME 函數並不會指出指定名稱的物件是否存在。PARSENAME 只會傳回指定物件名稱的指定部份。

主題連結圖示Transact-SQL 語法慣例

語法

PARSENAME ( 'object_name' , object_piece ) 

引數

'object_name'

這是要擷取指定物件部份的物件名稱。object_namesysname。這個參數是一個選擇性地限定的物件名稱。如果限定了物件名稱的所有部份,這個名稱會有四個部份:伺服器名稱、資料庫名稱、擁有者名稱和物件名稱。

object_piece

這是要傳回的物件部份。object_piece 的類型是 int,它可以有下列這些值。

1 = 物件名稱

2 = 結構描述名稱

3 = 資料庫名稱

4 = 伺服器名稱

傳回類型

nchar

備註

如果符合下列條件之一,PARSENAME 會傳回 NULL:

  • object_nameobject_piece 為 NULL。
  • 發生語法錯誤。

要求的物件部份,長度為 0,不是有效的 Microsoft SQL Server 2005 識別碼。長度為零的物件名稱會將完整名稱轉譯為無效。如需詳細資訊,請參閱<將識別碼當成物件名稱使用>。

範例

下列範例會利用 PARSENAME 來傳回 AdventureWorks 資料庫中之 Contact 資料表的相關資訊。

USE AdventureWorks;
SELECT PARSENAME('AdventureWorks..Contact', 1) AS 'Object Name';
SELECT PARSENAME('AdventureWorks..Contact', 2) AS 'Schema Name';
SELECT PARSENAME('AdventureWorks..Contact', 3) AS 'Database Name;'
SELECT PARSENAME('AdventureWorks..Contact', 4) AS 'Server Name';
GO

以下為結果集: 

Object Name                    
------------------------------ 
Contact                        

(1 row(s) affected)

Schema Name                     
------------------------------ 
(null)                         

(1 row(s) affected)

Database Name                  
------------------------------ 
AdventureWorks                           

(1 row(s) affected)

Server Name                    
------------------------------ 
(null)                         

(1 row(s) affected)

請參閱

參考

ALTER TABLE (Transact-SQL)
CREATE TABLE (Transact-SQL)
系統函數 (Transact-SQL)

說明及資訊

取得 SQL Server 2005 協助