Подтвердить что ты не робот

Что такое эквивалент Oracle таблицы "Двойной" в SqlServer?

Что такое эквивалент Oracle таблицы "Двойной" в SqlServer

это мой Select

SELECT pCliente,
                   'xxx.x.xxx.xx' AS Servidor,
                   xxxx AS Extension,
                   xxxx AS Grupo,
                   xxxx AS Puerto
              FROM DUAL;
4b9b3361

Ответ 1

В sql-server нет dual, вы можете просто сделать

SELECT pCliente,
       'xxx.x.xxx.xx' AS Servidor,
        xxxx AS Extension,
        xxxx AS Grupo,
        xxxx AS Puerto

Однако, если ваша проблема связана с тем, что вы передали некоторый код из Oracle, который ссылается на dual, вы можете повторно создать таблицу:

CREATE TABLE DUAL
(
DUMMY VARCHAR(1)
)
GO
INSERT INTO DUAL (DUMMY)
VALUES ('X')
GO

Ответ 2

Вам не нужно DUAL на сервере mssql

в оракуле

select 'sample' from dual

равно

SELECT 'sample'

в sql сервере

Ответ 3

Обычно вам не нужна таблица DUAL в SQL Server, как объясняется Jean-François Savard, мне нужно было эмулировать DUAL для синтаксиса причин в прошлом. Вот три варианта:

Создайте таблицу или представление DUAL

-- A table
SELECT 'X' AS DUMMY INTO DUAL;

-- A view
CREATE VIEW DUAL AS SELECT 'X' AS DUMMY;

После создания вы можете использовать его так же, как в Oracle.

Использовать общее табличное выражение или производную таблицу

Если вам нужна только DUAL для области одного запроса, это может также сделать:

-- Common table expression
WITH DUAL(DUMMY) AS (SELECT 'X')
SELECT * FROM DUAL

-- Derived table
SELECT *
FROM (
  SELECT 'X'
) DUAL(DUMMY)

Ответ 4

В SQL Server нет двойной таблицы. Если вы хотите поместить предложение WHERE, вы можете просто поставить его прямо следующим образом:

SELECT 123 ГДЕ 1 < 2

Я думаю, что в MySQL и Oracle им нужно предложение FROM, чтобы использовать предложение WHERE.

SELECT 123 FROM DUAL WHERE 1 < 2;