PARSENAME (Transact-SQL)
Применимо: SQL Server База данных SQL Azure Управляемый экземпляр SQL Azure azure Synapse Analytics Analytics Platform System (PDW)
Возвращает указанную часть имени объекта. Части объекта, к которым можно получить доступ: имя объекта, имя схемы, имя базы данных и имя сервера.
PARSENAME
Не указывает, существует ли объект по указанному имени. PARSENAME
возвращает указанную часть указанного имени объекта.
Соглашения о синтаксисе Transact-SQL
Синтаксис
PARSENAME ('object_name' , object_piece )
Аргументы
'object_name'
Параметр, содержащий имя объекта, для которого требуется получить указанную часть объекта. Этот параметр является необязательным именем объекта. Если указываются все части имени объекта, то это имя может состоять из четырех частей: имени сервера, имени базы данных, имени схемы и имени объекта.
Каждая часть строки "object_name" — имя sysname, эквивалентное nvarchar(128) или 256 байтам. Если любая часть строки превышает 256 байт, PARSENAME
возвращается NULL
для этой части, так как это недопустимое имя sysname.
object_piece
Возвращаемая часть объекта. object_piece является int и может быть одним из следующих значений:
значение | Description |
---|---|
1 | Наименование объекта |
2 | Имя схемы |
3 | Имя базы данных |
4 | Имя сервера |
Типы возвращаемых данных
sysname
Замечания
PARSENAME
возвращает значение NULL
, если одно из следующих условий имеет значение true:
Либо 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)