我正在尝试编写一个简单的查询,其中我声明了一些变量,然后在Oracle的select语句中使用它们。我以前已经能够在SQL Server中使用以下命令来实现这一点:
DECLARE @date1 DATETIME
SET @date1 = '03-AUG-2010'
SELECT U.VisualID
FROM Usage u WITH(NOLOCK)
WHERE U.UseTime > @Date1
从我所做的搜索来看,您似乎不能在Select语句中像这样声明和设置变量。这是对的,还是我说错了什么?
发布于 2015-07-30 01:20:05
我试过了,它起作用了:
define PROPp_START_DT = TO_DATE('01-SEP-1999')
select * from proposal where prop_start_dt = &PROPp_START_DT
发布于 2010-08-04 03:41:28
SET
命令是特定于TSQL的-下面是与您发布的PLSQL等效的命令:
v_date1 DATE := TO_DATE('03-AUG-2010', 'DD-MON-YYYY');
SELECT u.visualid
FROM USAGE u
WHERE u.usetime > v_date1;
也不需要在变量前加上"@";我倾向于在变量前加上"v_“来区分变量和列/等。
发布于 2010-08-04 03:30:32
尝试使用to_date函数。
https://stackoverflow.com/questions/3400058
复制相似问题