Поделиться через


PARSENAME (Transact-SQL)

Возвращает указанную часть имени объекта. Части объекта, к которым можно получить доступ, — это имя объекта, имя владельца, имя базы данных и имя сервера.

ms188006.note(ru-ru,SQL.90).gifПримечание.
Функция PARSENAME не показывает, существует ли на самом деле объект с данным именем. PARSENAME возвращает всего лишь указанную часть имени объекта.

Значок ссылки на разделСоглашения о синтаксисе в Transact-SQL

Синтаксис

PARSENAME ( 'object_name' , object_piece ) 

Аргументы

  • 'object_name'
    Имя объекта, из которого будет извлекаться указанная часть. Аргумент object_name имеет тип sysname. Данный аргумент представляет имя объекта, которое необязательно задано полностью. Если имя объекта задано полностью, то оно состоит из четырех частей: имя сервера, имя базы данных, имя владельца и имя объекта.
  • object_piece
    Часть имени, которую необходимо вернуть. Аргумент object_piece имеет тип int и может принимать следующие значения:

    1 = имя объекта

    2 = имя схемы

    3 = имя базы данных

    4 = имя сервера

Типы возвращаемых данных

nchar

Замечания

Функция PARSENAME возвращает значение NULL, если выполняется одно из условий:

  • Либо аргумент object_name, либо аргумент object_piece равен NULL.
  • Синтаксическая ошибка.

Длина запрошенной части имени равна 0 и не является допустимым идентификатором Microsoft SQL Server 2005. Нулевая длина имени объекта делает недействительным полное имя объекта. Дополнительные сведения см. в разделе Использование идентификаторов в качестве имен объектов.

Примеры

Следующий пример демонстрирует использование PARSENAME для получения информации о таблице Contact в базе данных AdventureWorks.

USE AdventureWorks;
SELECT PARSENAME('AdventureWorks..Contact', 1) AS 'Object Name';
SELECT PARSENAME('AdventureWorks..Contact', 2) AS 'Schema Name';
SELECT PARSENAME('AdventureWorks..Contact', 3) AS 'Database Name;'
SELECT PARSENAME('AdventureWorks..Contact', 4) AS 'Server Name';
GO

Ниже приводится результирующий набор.

Object Name                    
------------------------------ 
Contact                        

(1 row(s) affected)

Schema Name                     
------------------------------ 
(null)                         

(1 row(s) affected)

Database Name                  
------------------------------ 
AdventureWorks                           

(1 row(s) affected)

Server Name                    
------------------------------ 
(null)                         

(1 row(s) affected)

См. также

Справочник

ALTER TABLE (Transact-SQL)
CREATE TABLE (Transact-SQL)
Системные функции (Transact-SQL)

Справка и поддержка

Получение помощи по SQL Server 2005