Я обработал запрос в SQL Server 2000 и добавил точку в середине имени таблицы:
SELECT t.est.* FROM test
Вместо:
SELECT test.* FROM test
И запрос по-прежнему отлично выполняется . Даже SELECT t.e.st.* FROM test
выполняется без проблем.
Я пробовал тот же запрос в SQL Server 2008, где запрос не выполняется (ошибка: префикс столбца не совпадает с именем таблицы или псевдонимом, используемым в запросе). Из соображений чистого любопытства я пытался выяснить, как SQL Server 2000 обрабатывает имена таблиц таким образом, чтобы можно было выполнить запрос с переворотом, но пока мне не очень повезло.
Любой гуру SQL знает, почему SQL Server 2000 выполнил запрос без проблем?
Обновление : Похоже, что запрос работает независимо от используемого интерфейса (например, Enterprise Manager, SSMS, OSQL) и, как указано ниже Jhonny , причудливо работает даже при попытке:
SELECT TOP 1000 dbota.ble.* FROM dbo.table