MS SqlServer 中的 Oracle“双”表的等价物是什么?
这是我的Select
:
SELECT pCliente,
'xxx.x.xxx.xx' AS Servidor,
xxxx AS Extension,
xxxx AS Grupo,
xxxx AS Puerto
FROM DUAL;
MS SqlServer 中的 Oracle“双”表的等价物是什么?
这是我的Select
:
SELECT pCliente,
'xxx.x.xxx.xx' AS Servidor,
xxxx AS Extension,
xxxx AS Grupo,
xxxx AS Puerto
FROM DUAL;
在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
您不需要在 mssql 服务器中使用DUAL
在甲骨文中
select 'sample' from dual
等于
SELECT 'sample'
在 sql 服务器中
正如Jean-François Savard所解释的,虽然您通常不需要DUAL
SQL Server 中的表,但我过去出于句法原因需要进行模拟。这里有三个选项: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)
在 SQL Server 中没有双表。如果你想放一个WHERE
子句,你可以简单的直接放,像这样:
SELECT 123 WHERE 1<2
我认为在 MySQL 和 Oracle 中,他们需要一个 FROM 子句才能使用 WHERE 子句。
SELECT 123 FROM DUAL WHERE 1<2