Я помогаю другому администратору базы данных SQL Server решить проблему, связанную с конкретным экземпляром SQL Server 2008 R2. Я успешно выполнил этот запрос на своих экземплярах 2008 R2, экземплярах 2012 и т. д. Я приведу запрос ниже. Вложенные выборки извлекают одно конкретное значение из функции с табличным значением. Мы проверили, что указанный столбец представления существует, мы проверили, что функция может быть успешно запущена как автономная за пределами вложенного выбора, мы проверили, что идентификатор клиента действителен и т. д.
ОБЪЯВИТЬ @CustId varchar(12)
УСТАНОВИТЕ @CustId = 'AA100168'
ВЫБРАТЬ
CASE (выберите СЛОВО из dbo.GETALLWORDS([Клиенты].[Годовщина],'-'), где СЛОВО = 2)
КОГДА 'Ян' ТОГДА 1
КОГДА 'Фев' ТОГДА 2
КОГДА 'Мар' ТОГДА 3
КОГДА 'Апр' ТОГДА 4
КОГДА «май», ТОГДА 5
КОГДА 'Июн' ТОГДА 6
КОГДА 'июль' ТОГДА 7
КОГДА 'Авг' ТОГДА 8
КОГДА 'СЕНТЯБРЬ' ТОГДА 9
КОГДА 'Октябрь' ТОГДА 10
КОГДА 'Ноя' ТОГДА 11
КОГДА 'ДЕКАБРЬ' ТОГДА 12
КОНЕЦ КАК AnnMonth,
(выберите СЛОВО из dbo.GETALLWORDS([Клиенты].[Годовщина],'-'), где СЛОВО = 1) AS AnnDay,
(выберите СЛОВО из dbo.GETALLWORDS([Клиенты].[Годовщина],'-'), где СЛОВО = 3) AS AnnYear
ОТ dbo.viwUser_Customers_Custom Клиенты
ГДЕ [Клиенты].[Id] = @CustId
Вот ошибки, которые возвращаются для каждого подвыбора.
Сообщение 102, уровень 15, состояние 1 Неверный синтаксис рядом с «Клиенты».
Любые предложения относительно того, что вызывает это сбой? Он не выполняется в SSMS, но при попытке проанализировать запрос он возвращается чистым. Я проверил, что развертывание 2008 R2 находится на том же уровне пакета обновления, что и другие экземпляры, в которых работает тот же запрос.