適用於:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
分析平台系統(PDW)
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)