达梦数据库管理系统DM SQL函数详解

需积分: 46 25 下载量 3 浏览量 更新于2024-08-10 收藏 2.14MB PDF 举报
本文档是关于达梦数据库管理系统DM的SQL语言使用手册,涵盖了系统函数、空值判断、类型转换和杂类函数等知识点。 在达梦数据库中,SQL语言包含了一系列函数,用于处理各种数据操作。以下是这些函数的详细说明: ### 空值判断函数 1. COALESCE(n1, n2, ..., nx):返回参数列表中第一个非空的值。如果所有参数都为空,则返回NULL。 2. IFNULL(n1, n2):如果n1为空,返回n2,否则返回n1。 3. ISNULL(n1, n2):将n1的值替换为n2,如果n1为空。否则,保持n1的值不变。 4. NULLIF(n1, n2):如果n1等于n2,则返回NULL,否则返回n1。 5. NVL(n1, n2):与IFNULL类似,返回第一个非空的值,n1为空时返回n2。 ### 类型转换函数 1. CAST(value AS 类型说明):将value转换为指定的类型,如INT、VARCHAR等。 2. CONVERT(类型说明, value):功能与CAST相似,用于将value转换为给定的类型。 3. HEXTORAW(exp):将表达式exp转换为BLOB类型,常用于处理二进制数据。 4. RAWTOHEX(exp):将BLOB类型的exp转换为VARCHAR类型,便于文本显示。 ### 杂类函数 1. DECODE(exp, search1, result1, ..., searchn, resultn, [default]):根据exp的值查找匹配项,返回对应的result,如果没有匹配项,则返回default。 ### 系统函数 系统函数提供了对数据库系统级别的操作和信息获取: 1. BUFFER():返回当前缓冲区的页数。 2. CASE_SENSITIVE():返回数据库创建时设置的大小写敏感性设置。 3. CKPT_FUN:用于设置检查点类型。 4. COL_ID(name):获取具有给定名称的列的ID。 5. COLGRANTS_DEF(urid, dbname, tvid, colid, priv, grantable):返回用户urid在数据库dbname、表tvid上具有权限priv的列colid的SQL语句。 6. CUR_DATABASE():返回当前用户所在的数据库名。 7. DB_ID(database):获取名为database的数据库ID。 8. DB_IS_ONLINE(database):检查database数据库是否已加载。 9. DB_REORGANIZE(database):对database数据库进行重组操作。 10. DBID():返回当前数据库的ID。 11. DEC_INT64():返回DEC_INT64优化标志的信息。 12. DM_CHECK_INDEX(dbname, schname, indexname):检查指定索引的有效性。 13. DM_DB_CHECK_INDEX(dbname):检查dbname数据库的所有索引是否有效。 14. DM_DB_REPAIR_INDEX(dbname):修复dbname数据库的所有索引。 15. DM_GET_SESSION_AUTOCMT():获取DDL自动提交的属性值。 16. DM_GET_SESSION_DML_AUTOCMT():获取当前会话的DML自动提交状态。 17. DM_GET_TABLE_EXTENTS(dbname, schname, tablename):获取表占用的簇数目。 18. DM_GET_TABLE_PAGES(dbname, schname, tablename):获取表占用的总页数。 19. DM_GET_TABLE_USED_PAGES(dbname, schname, tablename):获取表已使用的页数。 20. DM_MERGE_INDEX(dbname, schname, indexname):合并(相当于重组)指定的索引。 此外,手册还介绍了数据定义语句,包括数据库、模式、用户、表、索引、序列等的创建、修改和删除操作,以及数据查询语句和全文检索语句,如单表查询、连接查询、子查询、聚合函数、分组和排序等,为数据库管理提供了全面的SQL语法支持。