2013-10-17 91 views
0

我已經在SQL Server 2008中編寫了這個腳本,需要將它轉換爲Oracle SQL這種方式我可以在Oracle SQL Developer中運行它。誰會知道正確的語法?我想知道的主要內容如下:1)聲明局部變量2)設置局部變量3)使用局部變量4)使用日期。非常感謝您的高級幫助。SQL Server到Oracle SQL Developer查詢

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 

回答

0

是的。您應該考慮查看SQL Plus來代替腳本。按照上面評論中的鏈接。有一種方法可以假冒你想要的東西,所以你可以在SQL Developer中使用它。下面是一個簡單的例子

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) 

這使常數在查詢的頂部,所以它們只在一個地方,這是很容易找到,當你需要改變。

+0

日期的工作方式是否相同? –

+0

是的,你可以做到這一點。這有點棘手。 '10/10/2013'是一個字符串,不是日期。您需要使用內置的TO_DATE函數將字符串轉換爲日期。 – EvilTeach

+0

您能否將其添加到您的示例中,以便我有更好的主意?感謝您的幫助!對此,我真的非常感激。 –