PARSENAME (Transact-SQL)
Возвращает указанную часть имени объекта. Части объекта, к которым можно получить доступ, — это имя объекта, имя владельца, имя базы данных и имя сервера.
Примечание. |
---|
Функция 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)