PARSENAME (Transact-SQL)
適用於:SQL Server
Azure SQL Database
Azure SQL 受控執行個體
Azure Synapse Analytics
Analytics Platform System (PDW)
傳回物件名稱的指定部分。 物件可擷取的部分包含物件名稱、結構描述名稱、資料庫名稱及伺服器名稱。
注意
PARSENAME 函數並不會指出指定名稱的物件是否存在。 PARSENAME 只會傳回指定物件名稱的指定部份。
Syntax
PARSENAME ('object_name' , object_piece )
注意
若要檢視 SQL Server 2014 與更早版本的 Transact-SQL 語法,請參閱舊版文件。
引數
'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,且不是有效的 Microsoft SQL Server 識別碼。 長度為零的物件名稱會將完整名稱轉譯為無效。
範例
下列範例會利用 PARSENAME
來傳回 Person
資料庫中之 AdventureWorks2022
資料表的相關資訊。
-- Uses AdventureWorks
SELECT PARSENAME('AdventureWorksPDW2012.dbo.DimCustomer', 1) AS 'Object Name';
SELECT PARSENAME('AdventureWorksPDW2012.dbo.DimCustomer', 2) AS 'Schema Name';
SELECT PARSENAME('AdventureWorksPDW2012.dbo.DimCustomer', 3) AS 'Database Name';
SELECT PARSENAME('AdventureWorksPDW2012.dbo.DimCustomer', 4) AS 'Server Name';
GO
以下為結果集。
Object Name
------------------------------
DimCustomer
(1 row(s) affected)
Schema Name
------------------------------
dbo
(1 row(s) affected)
Database Name
------------------------------
AdventureWorksPDW2012
(1 row(s) affected)
Server Name
------------------------------
(null)
(1 row(s) affected)