1 / 14
文档名称:

sql笔记样稿样稿.doc

格式:doc   大小:35KB   页数:14页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

sql笔记样稿样稿.doc

上传人:非学无以广才 2020/11/14 文件大小:35 KB

下载得到文件列表

sql笔记样稿样稿.doc

文档介绍

文档介绍:自己总结SQL笔记,给友友们分享下,谁有愈加好也别吝啬,在这里给大家share下啊!
单行函数:
函数通常在数据上实施,它给数据转换和处理提供了方便。不一样DBMS提供函数不一样。
函数可能会带来系统不可移植性(可移植性:所编写代码能够在多个系统上运行)。
加入注释是一个使用函数好****惯。
大多数SQL实现支持以下类型函数: 文本处理, 算术运算, 日期和时间, 数值处理。
Null:空值
空值当成无穷大处理,全部空值参与运算皆为空。
空值和空值并不相等,因为空值不能直接运算。
如:prod_price="" 这种写法是错(不要受到corejava影响)
prod_price=NULL 这种写法是错(不要受到corejava影响)
prod_price IS NULL 这种写法才是正确
NVL:处理空值,把空值转化为指定值。可转化为日期、字符、数值等三种(注意:转化时,两参数必需要同类型)
如:NVL(date, '01-JAN-95') NVL(title,'NO Title Yet') NVL(salary,0)
错误写法:
Select last_name,title,salary*commission_pct/100 COMM From s_emp;--没分***没法显示工资
正确写法:
Select last_name,title,salary*NVL(commission_pct,0)/100 COMM From s_emp;--把分成是空值转化为0
DISTINCT:过滤反复
把反复行过滤掉;多个字段组合时,只排除组合反复。
DISTINCT必需使用列名,不能使用计算或表示式。
全部聚合函数全部能够使用。假如指定列名,则DISTINCT只能用于COUNT(列名),DISTINCT不能用于COUNT(*)。
如:Select Distinct name From s_dept; Select Distinct dept_id,title From s_emp;
文本处理:
TRIM()/LTRIM()/RTIRM():去空格。只能去掉头和尾空格,中间不理。
trim(' heo Are fdou ') --> heo Are fdou
输入:select trim(' heo Are fdou ') from dual; -->:heo Are fdou
LOWER:转小写
lower('SQL Course') --> sql course
UPPER:转大写
upper(' SQL Course') --->SQL COURSE
INITCAP:首字母转大写,其它转小写
initcap(SQL Course') '--> Sql Course
CONCAT:合成。双竖线只能在select语句里面用,这个可用于任何语句。
Concat('Good','String') --> GoodString
SUBSTR:截取。
Substr('String', 1 ,3) --> Str
第一个数字“1”,表示从第多个开始截取;若要从倒数第多个开始,用负数,如“-2”表示倒数第2个。
上式中第2个数字“3”表示截取多少个。
LENGTH:统计长度。
Length('String') --> 6
NVL:转换空值
日期和时间处理:
Oracle日期格式:DD-MMM-YYYY (D代表日期date,M代表月month,Y代表年year)
如:SELECT prod_name (DAY表示完整星期几,DY显示星期前三个字母)
FROM Products
WHERE prod_time BETWEEN
to_date(’01-JAN-’)
AND to_date(’31-DEC-’);
日期能够进行加减,默认单位是1天。日期和日期能够相减,得出天数;日期和日期但不能相加。
sysdate -> 系统当日
Months_Between('01-Sep-95','11-Jan-94') --> 相差多少个月