达梦数据库 sql使用学习

1、没有DATE_SUB,可以用DATEADD、DATEPART,例:

MySQL:SELECT DATE_SUB(NOW(), INTERVAL 3600 SECOND);//当前时间减1小时

达梦:SELECT DATEADD(SECOND, 3600, SYSDATE);//当前时间加1小时

           SELECT ADD_MONTHS(SYSDATE,-1);//获取上个月的日期

           SELECT DATEPART(YEAR,ADD_MONTHS(DATE '2021-03-16',-1));//获取特定时间上个月所在的年份

项目里用了DATE_SUB也没有报错,是可以用的。使用INTERVAL时,达梦要给时间加'',例:INTERVAL '1' DAY;

2、没有STR_TO_DATE,和Oracle一样,用TO_DATE,例:

MySQL:SELECT STR_TO_DATE('2021/10/14','%Y/%m/%d');

达梦:SELECT TO_DATE('2021/10/14','YYYY/MM/DD');

3、同时支持LIMIT、ROWNUM、TOP

4、达梦的系统保留字COMMENT,查询时需要双引号,例:SELECT "COMMENT" AS "comment" FROM TBL_TEST;

5、列表排序的时候,默认为NULL的数据会排在最前面,可以通过NULLS LAST把为NULL的数据排在最后,例:ORDER BY A DESC NULLS LAST;

6、DM中CHAR类型固定字节长度,不足会补齐,例字段 type CHAR(2),查询时可以用RTRIM()处理,例:SELECT RTRIM(TYPE) FROM TBL_TEST;(不处理的话,当查询后用来比对时可能会出问题)

7、DM不支持GROUP_CONCAT(),可以用WM_CONCAT()/LISTAGG WITHIN GROUP代替。

  • 0
    点赞
  • 0
    收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:游动-白 设计师:我叫白小胖 返回首页
评论

打赏作者

pllpllpll0307

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值