什么相当于MS SQLServer中的Oracle“DUAL”表?
这是我的Select:
Select
SELECT pCliente, 'xxx.x.xxx.xx' AS Servidor, xxxx AS Extension, xxxx AS Grupo, xxxx AS Puerto FROM DUAL;
jvlzgdj91#
在sql-server中,没有dual可以简单地
sql-server
dual
SELECT pCliente, 'xxx.x.xxx.xx' AS Servidor, xxxx AS Extension, xxxx AS Grupo, xxxx AS Puerto
但是,如果您的问题是因为您从Oracle传输了一些引用dual的代码,则可以重新创建表:
Oracle
CREATE TABLE DUAL ( DUMMY VARCHAR(1) ) GO INSERT INTO DUAL (DUMMY) VALUES ('X') GO
0tdrvxhp2#
您不需要在MSSQL服务器中使用*DUAL
在Oracle中
select 'sample' from dual
等于
SELECT 'sample'
在SQL SERVER中
w6lpcovy3#
虽然您通常不需要Jean-François Savard所解释的SQL Server中的DUAL表,但出于语法原因,我过去需要模拟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)
w7t8yxp54#
在SQL Server中没有双重表。如果你想放一个WHERE子句,你可以简单地这样直接放:
WHERE
SELECT 123 WHERE 1<2
我认为在MySQL和Oracle中,他们需要一个FROM子句来使用WHERE子句。
SELECT 123 FROM DUAL WHERE 1<2
baubqpgj5#
我想,当您需要基于局部变量连接一些表并从这些表中获取信息时,这可能会有一些帮助:
注意:局部变量必须是
Select @XCode as 'XCode ' ,@XID as 'XID ' ,x.XName as 'XName ' ,@YCode as 'YCode ' ,@YID as 'YID ' ,y.YName as 'YName ' From (Select 1 as tst) t Inner join Xtab x on x.XID = @XID Inner join Ytab y on y.YID = @YID
wmtdaxz36#
这比这简单多了。使用文字值来建立数据类型。如果列名需要特殊字符,请用引号将其引起来。如果需要一行数据,请跳过WHERE子句:
SELECT 'XCode' AS XCode ,1 AS XID ,'XName' AS "X Name" ,'YCode' AS YCode ,getDate() AS YID ,'YName' AS "Your Name" WHERE 1 = 0
6条答案
按热度按时间jvlzgdj91#
在
sql-server
中,没有dual
可以简单地但是,如果您的问题是因为您从
Oracle
传输了一些引用dual
的代码,则可以重新创建表:0tdrvxhp2#
您不需要在MSSQL服务器中使用*DUAL
在Oracle中
等于
在SQL SERVER中
w6lpcovy3#
虽然您通常不需要Jean-François Savard所解释的SQL Server中的
DUAL
表,但出于语法原因,我过去需要模拟DUAL
。以下是三个选项:创建
DUAL
表或视图一旦创建,您就可以像在Oracle中一样使用它。
使用公用表表达式或派生表
如果您只需要将
DUAL
用于单个查询的作用域,则也可以这样做:w7t8yxp54#
在SQL Server中没有双重表。如果你想放一个
WHERE
子句,你可以简单地这样直接放:SELECT 123 WHERE 1<2
我认为在MySQL和Oracle中,他们需要一个FROM子句来使用WHERE子句。
SELECT 123 FROM DUAL WHERE 1<2
baubqpgj5#
我想,当您需要基于局部变量连接一些表并从这些表中获取信息时,这可能会有一些帮助:
注意:局部变量必须是
wmtdaxz36#
这比这简单多了。使用文字值来建立数据类型。如果列名需要特殊字符,请用引号将其引起来。如果需要一行数据,请跳过WHERE子句: