DQL 学习-- DQL 基本元素
类型
1. 整型(Integer)
2. 浮点型(float)
3. 字符串类型(Character string)
4. ID类型
5. 日期类型(Date)
整型
取值范围从 -2147483647 到 +2147483647
浮点型
支持科学计数法
5.347 ; 10.4e-6 ; 10.4E-6
取值范围, 和数据库有关联
数据库 | 范围 | 有效数字位数 |
Oracle | 1.0*10-129 to 9.99*10+129 | 15 |
DB2 | 1.0*10-307 to 1.798*10+308 | 15 |
MS SQL | 1.7e-308 to 1.7e+308 | 15 |
字符串类型
使用单引号包起来, 如果要使用单引号作为字串的一部分的话, 使用两个单引号包起来就可以了。
长度限制取决于数据库的长度限制, 但是不要超过 1999 bytes
ID 类型
长度为16的字符串。 此值为系统自动产生的。
日期类型
有效值从 01/01/1753 - 12/31/9999
DATE(TODAY) ; DATE(NOW), DATE(YESTERDAY),DATE(TOMORROW)
特殊关键字
USER : 代表当前用户
TRUE and FALSE : 布尔型的对和错
DM_SESSION_DD_LOCALE:与客户端的连接语言环境最合适的数据字典语言环境。
函数
——————————————————————————————————————————————————————————————
1. 纯量函数(Scalar)
2. 合计函数(Aggregate)
3. 日期函数(Date)
4. ID 函数
5. MFILE_URL 函数
纯量函数(Scalar)
1. ASCII
返回字符串首字母的ASCII码
select count(*) from dm_document where ascii(owner_name)=98;
2. BITAND, BITCLR,BITSET
位运算
BITAND and 运算 ;相同位的两个数字都为1,则为1;若有一个不为1,则为0。
BITCLR , 两个数的位数运算, 第二个位数为1, 运算为0, 否则取第一个数的位数值. as BITCLR(5,9) --> 0100 BITCLR(9,5) --> 1000
BITAND: or 运算 ,相同位只要一个为1即为1
select user_name from dm_user where BITAND("user_privileges",1)=1;
3. UPPER,LOWER
返回大小写
4. SUBSTR 字符串截取
合计函数(Aggregate)
1. COUNT
2. MIN
select MIN(owner_name) from dm_document;
3. MAX
4. AVG
5. SUM
日期函数(Date)
1.DATEDIFF DATEDIFF(date_part,date1,date2)
date1和date2之间的时间差, date_part 可以是day, month, week
select "task_number","supervisor_name" from dm_tasks_queued where DATEDIFF(month,"plan_start_date","actual_start_date")>=1;
2. DATEADD DATEADD(date_part,number,date)
在原时间上加上某个值
3. DATEFLOOR DATEFLOOR (date_part,date)
原时间的开始时间
如果Date 是March 23, 1996 at 9:30:15 am
DATEFLOOR(year,"r_creation_date") -- January 1, 1996 at 00:00:00
DATEFLOOR(month,"r_creation_date") -- March 1, 1996 at 00:00:00
DATEFLOOR(day,"r_creation_date") -- January 23, 1996 at 00:00:00
4. DATETOSTRING DATETOSTRING (date,''format)
DATETOSTRING("r_creation_date",'dd-mon-yy') 14-May-95
ID 函数
ID('object_id')
以下例子为查找在某个floder 下的document
select * from dm_document where folder (ID('0b00000b8031d105'));
MFILE_URL 函数
MFILE_URL('format',page_no,'page_modifier')
select MFILE_URL('jpeg_th',0,'image1') from dm_document;
谓词(Predicates)
————————————————————————————————————————————————————————————————————————————
1. 算术运算(Arithmetic)
2. 比较运算 (Comparison)
3. 栏位和属性谓词
4. SysObjects 谓词
算术运算
+ ;-; * ;/ ; **
比较运算
=
>=
<=
>
<
<>
!=
栏位和属性谓词
1) single-valued properties
IS [NOT] NULL
IS [NOT] NULLDATE
IS [NOT] NULLSTRING
IS [NOT] NULLINT
[NOT] LIKE pattern[ESCAPE character]
[NOT] IN value list
[NOT] EXISTS(subquery)
comparison_op SOME(subquery)
comparison_op ANY(subquery)
comparison_op ALL(subquery)
2) - repeating properties
attr_name [NOT] LIKE pattern[ESCAPE character]
attr_name IN (value_list)
[IN|EXISTS] attr_name IN (subquery)
attr_name IS [NOT] NULL
attr_name IS [NOT] NULLDATE
attr_name IS [NOT] NULLSTRING
attr_name IS [NOT] NULLINT
attr_name comparison_op value_expression
转义字符
select "r_object_id" from "dm_document" where object_name like '%\_%' ESCAPE '\';
SysObjects 谓词
TYPE -- TYPE(type_name)
select * from dm_sysobject where TYPE("dm_document");
FOLDER
[NOT] FOLDER(folder_expression{,folder_expression}[,DESCEND])
CABINET
[NOT] CABINET(cabinet_expression[,DESCEND])
逻辑操作符
AND
OR
NOT
DQL 学习-- DQL 基本元素相关推荐
- 【SQL】以mysql为例系统学习DQL理论知识
[SQL]以mysql为例系统学习DQL理论知识 1.思维导图-知识体系 2.数据库相关操作-查询 2.1.单一select简单查询 2.2.复杂数据库查询(重点) 2.3.单一select的SQL语 ...
- Mysql入门学习第三章(学习DQL语句)
第三章 DQL数据查询语言 重点,DQL是我们每天接触编写最多也是最难的sql,该语言用来查询记录,不会修改数据库和表结构: 一.构建数据库 学习之前我们需要创建数据库并填充部分数据: drop TA ...
- 【尚硅谷】数据库DQL学习
DQL语言的学习 目录 基础查询 条件查询 排序查询 常见函数 单行函数 分组函数 分组查询 连接查询 1.等值连接 2.非等值连接 3.自连接 内连接:inner 外连接 交叉连接:cross 子查 ...
- DQL 学习4-- Using DQL
1. 不要设置属性的值为 "NULL", 因为NULLs被用作多值属性的值的结束. 2. 各种类型的属性的默认值 类型 默认值 String A Single blank Num ...
- DQL 学习3 -- Administration Methods
method 的运行方式 1. 通过DA手动运行 2. DQL Execuete方式 3. IDFSession.apply 4. DO_METHOD . userd to execute user- ...
- DQL 学习2 -- DQL声明
将对象名和属性名用双引号括起来, 这样可以避免和DQL的保留值和数据库的保留字发生命名冲突. Abort ABORT [TRAN[SACTION]] Alter Group ALTER GROUP ...
- 数据库学习--DQL(数据库查询语言)
查询语句 select * from 表 where 条件 [inner/left/right join 表1 on 条件] group by 列名 having 组 order by 列名 limi ...
- 数据库学习-DQL(基础)
1.DQL-介绍 2.DQL-语法 3.DQL-基本查询 4.DQL-条件查询 4.DQL-聚合函数 5.DQL-分组查询 6.DQL-排序查询 7.DQL-分页查询 8.DQL-执行 ...
- HTML学习(基本元素)
二.基本元素 1.阶段性练习 <!DOCTYPE html> <html lang="en"> <head><meta charset=& ...
最新文章
- Spring AOP AspectJ Pointcut Expressions With Examples--转
- 《30天自制操作系统》笔记(01)——hello bitzhuwei’s OS!
- Linux命令free解读
- Nginx下完美解决WordPress的伪静态 (wordpress 迁移后 导致 页面404)
- 汇编语言的码制转换小问题--求指教
- abnf java实现_详细讲解如何利用Java实现组合式解析器?
- RocketMQ集成SpringBoot
- 广州交警发布科目三电子路考操作要点
- python二分法查找程序_查找Python程序的输出| 套装2(基础)
- 104_Power Query 数据库条件查询
- 为吸引三星建170亿美元芯片厂,德克萨斯州将提供大额财产税减免
- 华硕笔记本重装系统按哪个键进u盘启动项
- ServiceNow常用角色和分组
- matlab高通滤波函数,巴特沃斯高通滤波器—matlab实现
- [Linux用户空间编程-5]:用IPTable实现NAT功能
- Co-occurrence网络图绘制教程(附详细代码)
- 原创|对接三方服务商回调鉴权的程序代码设计
- sql中1=1,1=0 ,1 大于 1,1 小于 1代表什么
- String,StringBuffer,StringBuffer的区别
- 51Nod-1298 圆与三角形