PARSENAME (Transact-SQL)
適用於: SQL Server Azure SQL 資料庫 Azure SQL 受控執行個體 Azure Synapse Analytics Analytics Platform System (PDW)
傳回物件名稱的指定部分。 物件可擷取的部分包含物件名稱、結構描述名稱、資料庫名稱及伺服器名稱。
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
資料庫中之 AdventureWorks2022
資料表的相關資訊。
-- 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)