SQL Server到Oracle SQL开发人员查询

SQL Server到Oracle SQL开发人员查询,sql,oracle,Sql,Oracle,我用SQLServer2008编写了这个脚本,需要将它转换为Oracle SQL,这样我就可以在Oracle SQL Developer中运行它。有人知道正确的语法吗?这里我想知道的主要事情如下:1)声明局部变量2)设置局部变量3)使用局部变量4)使用日期。非常感谢您在advanced中的帮助 DECLARE @Name VARCHAR(55) DECLARE @Age INT DECLARE @StartDate DATETIME DECLARE @EndDate DATETIME SET

我用SQLServer2008编写了这个脚本,需要将它转换为Oracle SQL,这样我就可以在Oracle SQL Developer中运行它。有人知道正确的语法吗?这里我想知道的主要事情如下:1)声明局部变量2)设置局部变量3)使用局部变量4)使用日期。非常感谢您在advanced中的帮助

DECLARE @Name VARCHAR(55)
DECLARE @Age INT
DECLARE @StartDate DATETIME
DECLARE @EndDate DATETIME

SET @NAME = 'Tim'
SET @Age = 55
SET @StartDate = '5/10/1999'
SET @EndDate = '9/22/2008'

SELECT *
FROM TblIdentifier ident
WHERE Name = @Name AND 
      Age = @Age AND 
      Birthday BETWEEN @StartDate AND @EndDate 
ORDER BY ident.ID

对。你应该考虑用SQL Plus代替脚本。点击上面评论中的链接。有一种方法可以伪造您想要的东西,这样您就可以在SQLDeveloper中使用它。下面是一个简单的例子

WITH
konstants AS
(
    SELECT 'Tim' NAME,
           55    AGE
    FROM DUAL
)
SELECT *
FROM TblIdentifier 
WHERE NAME = (SELECT NAME FROM konstants) 
  AND AGE  = (SELECT AGE  FROM konstants)

这会将常数放在查询的顶部,因此它们只在一个位置,并且在需要时很容易找到和更改。

日期也会以同样的方式工作吗?是的,您可以这样做。这有点棘手。”“2013年10月10日”是字符串,不是日期。您需要使用内置的to_DATE函数将字符串转换为日期。您能否将其添加到示例中,以便我有更好的主意?谢谢你的帮助!我真的很感激。这是留给读者的练习。