我无法将T-SQL脚本转换为ORACLE。
DECLARE @ABC VARCHAR(50) = 'SOME VALUE'
SELECT @ABC
答案 0 :(得分:0)
如果您正在使用SQL并希望像在T-SQL中那样返回结果集返回,则可以在Oracle端使用带有sys_refcursor参数的SP。在这种情况下的结果集可以以各种方式返回和处理。请按照以下示例获取其中一个解决方案:
create or replace procedure sp_ret_res_set(ref1 out sys_refcursor)
is
v_ABC VARCHAR2(50) DEFAULT 'SOME VALUE';
begin
open ref1 for select v_ABC from dual;
end;
/
var c refcursor;
/
execute sp_ret_res_set(:c);
/
print c;
答案 1 :(得分:0)
我认为你只需要一个简单的 SELECT 。
例如,
SQL> SELECT CAST('SOME VALUE' AS VARCHAR(50)) str FROM dual;
STR
--------------------------------------------------
SOME VALUE
SQL>
您可以直接使用 DUAL 表而无需显式转换为VARCHAR2,
SQL> SELECT 'SOME VALUE' str FROM dual;
STR
----------
SOME VALUE
SQL>
但是,如果您没有明确地投射它,它将是 CHAR 而不是 VARCHAR2 。因此,如果您希望数据类型为VARCHAR2,请使用 CAST 。