作者:62755 | 来源:互联网 | 2023-10-10 07:23
?
----Null
空值(null)无法用来衡量或比较
NULL?不同于零和空格
NULL如果参加数值运算就会导致运算结果为空值
?
-----NVL函数
用NVL函数可以将空值转换为一个实际的值
可以将NULL转换为日期、字符串或者数值
NVL(start_date,’01-jan-95’)
NVL(title,’Title’)
NVL(salary,1000)
?
----字符串连接操作
通过?“||”?完成
可以在字段之间或字段与字符串之间进行连接操作
连接后的结果仍然是字符串
?
----distinct??通过distinct可以去掉重复数据行
??Distinct会对列出的所有字段起作用
?
----order?by子句
通过order?by?子句进行排序
ASC?-升序排列,缺省值
DESC?-?降序排列
可以进行多列排序,按order?by?子句中所列字段的先后进行排序
?
----字符串或日期作为查询条件
字符串或日期作为查询条件时要使用单引号
数值型数据作为查询条件不需要使用单引号
查询条件中的字符串是大小写敏感的
缺省的日期格式是‘DD-MON-YY’
?
----比较和逻辑运算符
逻辑比较运算符
?=??,?>?,?>=?,??,?<=
SQL比较运算符
between...and....
in(list)
like???----(%表示0到多个字符,?_表示单个字符)
is??null
逻辑运算符
and,or,not
?
----否定表达式?,有有时候把不需要的数据排除更简单
逻辑运算符???!=,<>?,^=
SQL?运算符
?not??between?,not??in?,not??like?,is??not???null
?
?
-----常用字符串函数---
LOWER?转换为小写字母
UPPER??转换为大写字母
SUBSTR??获取字符串中的字串
LENGTH??返回字符数
NVL??转换空值
?
-----数值函数----
ROUND???四舍五入到指定的小数位数?例如:?ROUND(45.666,2)?—>?45.67
TRUNC???截取到指定的小数位数?????例如:TRUNC(45.666)?—>?45.66
MOD?????得到除法运算的余数???????例如:MOD(1600,300)—>100
?
----Oracle?中的日期格式
缺省的日期格式为?DD-MON-YY
SYSDATE?是返回当前日期和时间的函数
?
-----日期函数
MONTHS_BETWEEN?得到两个日期之间的月数
ADD_MONTHS?增加月数???ADD_MONTHS(‘11-JAN-94’,6)?->’11-JUL-94’
LAST_DAY?该月的最后一天?LAST_DAY(‘01-SEP-95’)?->?‘30-SEP-95’
?
-----转换函数
TO_CHAR?????转换数值或日期为字符串
TO_NUMBER??将阿拉伯数字的字符串转换为数字
TO_DATE??????将日期型字符串转换为日期类型
?
----常用日期格式元素--
??YYYY???四位数字年
??MM?????两位数字月份
??DD??????两位数字日
??MONTH??月份的英文单词
??DAY??????返回星期的英文单词
?
----常用日期格式元素
??时间的格式?:HH24:MI:SS?AM
??通过双引号?可以增加字符串?DD?“of”MONTH
?
----组函数
组函数用来对每个组的一批记录进行操作得到一个结果
组函数在select?列表和HAVING子句中使用
在select语句中GROUP?BY?用来对查询结果进行分组
HAVING?子句对分组后的结果进行限定
语法:
SELECTcolumn,?group_function
FROMtable
[WHEREcondition]
[GROUP?BYgroup_by_expression]
[HAVINGgroup_condition]
[ORDER?BYcolumn];
?
----常用组函数---
AVG(),COUNT(),MAX(),MIN(),SUM()
所有SELECT?中列出而且未使用组函数的字段必须列在?GROUP?BY?子句中.
GROUP?BY?出现的字段不一定要出现在?SELECT?子句中.
GROUP?BY?中出现的字段同时出现在?SELECT?中会使查询结果更有意义.
?
?