达梦数据库与Oracle语法对比

达梦数据库与Oracle语法对比达梦Oracle支持一些字段类型不支持(具体哪些忘了)concat可以连接三个以上字符串只能连接两个ifnull()nvl()left()substr()sysdate()sysdate存储过程createorreplaceprocedureaaudhiddefinerasdeclarevar_1varchar(200);var_2integer;beginsetvar_1=‘select*fromtable1’;…

大家好,欢迎来到IT知识分享网。达梦数据库与Oracle语法对比

达梦 Oracle
支持一些字段类型 不支持(具体哪些忘了)
concat可以连接三个以上字符串 只能连接两个
ifnull() nvl()
left() substr()
sysdate() sysdate
存储过程:
create or replace procedure a
authid definer
as
declare
var_1 varchar(200);
var_2 integer;
begin
set var_1=‘select * from table1’;
set var_2=5;
execute immediate var_sql;
end;
存储过程:
create or replace procedure a
authid definer
is
var_1 varchar(200);
var_2 integer;
begin
var_1:=‘select * from table1’;
var_2:=5
execute immediate var_sql;
end;
只能一行一行加字段 可以在同一个ALTER语句中加多个ADD字段
给变量赋值,支持set var_sql=和var_sql:=两种方式 只支持var_sql:=
调用其他存储过程要call 不用call
表别名可以加as 数据表别名不能加as,列的别名可以加as
字段长度<=30个字节
字段别名若包含特殊符号,需要加引号
SELECT * FROM (
select ‘测试’ as PNAME, count( * ) as CNT, ‘过滤语法测试’ as REMARK
from test ) a
WHERE a.PNAME = ‘98’

查询结果:
PNAME CNT REMARK
测试 0 过滤语法测试

若想实现右侧Oracle的过滤效果,需在内层加一个group by

SELECT * FROM (
select ‘测试’ as PNAME, count(*) as CNT, ‘过滤语法测试’ as REMARK
from test group by ‘测试’ ) a
WHERE a.PNAME = ‘98’

SELECT * FROM (
select ‘测试’ as PNAME, count(*) as CNT, ‘过滤语法测试’ as REMARK
from test ) a
WHERE a.PNAME = ’98’

查询结果:空

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/16016.html

(0)
上一篇 2024-02-11 18:33
下一篇 2024-02-12 13:15

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信