適用於:SQL Server
Azure SQL Database
Azure SQL 受控執行個體
Azure Synapse Analytics
Microsoft Fabric 中的 SQL 分析端點
Microsoft Fabric 中的倉庫
Microsoft Fabric 中的 SQL 資料庫
傳回物件名稱的指定部分。 物件可擷取的部分包含物件名稱、結構描述名稱、資料庫名稱及伺服器名稱。
PARSENAME 不會指出指定名稱的物件是否存在。
PARSENAME 只會傳回指定之物件名稱的指定部分。
語法
PARSENAME ('object_name' , object_piece )
引數
'object_name'
保存要擷取指定之物件元件之物件名稱的參數。 此參數是選擇性限定的物件名稱。 若限定了物件名稱的所有部分,則此名稱會有四個部分:伺服器名稱、資料庫名稱、結構描述名稱及物件名稱。
'object_name' 字串的每個部分都是 sysname,相當於 nvarchar(128) 或 256 個字節。 如果字串的任何部分超過 256 個字節, PARSENAME 則傳回 NULL 該部分,因為它不是有效的 sysname。
object_piece
要傳回的物件元件。 object_piece為 int,而且可以是下列其中一個值:
| 值 | 名稱 |
|---|---|
| 1 | 物件名稱 |
| 2 | 結構描述名稱 |
| 3 | 資料庫名稱 |
| 4 | 伺服器名稱 |
傳回類型
sysname
備註
PARSENAME 如果下列其中一個條件成立, 則傳 NULL 回 :
object_name或object_piece為
NULL。發生語法錯誤。
要求的物件元件長度
0為 ,且不是有效的 SQL Server 識別碼。 長度為零的物件名稱會將完整名稱轉譯為無效。
範例
下列範例會利用 PARSENAME 來傳回 Person 資料庫中之 AdventureWorks2025 資料表的相關資訊。
-- Uses AdventureWorks
SELECT PARSENAME('AdventureWorks2022.Person.Person', 1) AS 'Object Name';
SELECT PARSENAME('AdventureWorks2022.Person.Person', 2) AS 'Schema Name';
SELECT PARSENAME('AdventureWorks2022.Person.Person', 3) AS 'Database Name';
SELECT PARSENAME('AdventureWorks2022.Person.Person', 4) AS 'Server Name';
GO
結果集如下所示。
Object Name
------------------------------
Person
Schema Name
------------------------------
Person
Database Name
------------------------------
AdventureWorks2022
Server Name
------------------------------
(null)