oracle201
SQL> select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') from dual;
TO_CHAR(SYSDATE,'YY
-------------------
2015-01-08 20:01:44
SQL> select to_char(systimestamp,'yyyy-mm-dd hh24:mi:ss ssxff6') from dual;
TO_CHAR(SYSTIMESTAMP,'YYYY-MM-DD
--------------------------------
2015-01-08 20:03:08 08.045234 |
在创建表的时候并不会并不会为表创建段,可以通过:
select segment_name,partition_name,segment_type,tablespace_name,bytes,blocks,extents from user_segments where segment_name like '%STUDENT%';
是查询不到的,这是oracle默认是在插入数据以后才会分配段。
insert into student values(10000,'zhansan','2014-08-28');
再去查询就会有结果的:
SQL> select segment_name,partition_name,segment_type,tablespace_name,bytes,blocks,extents from user_segments where segment_name like '%STUDENT%';
SEGMENT_NAME
--------------------------------------------------------------------------------
PARTITION_NAME SEGMENT_TYPE TABLESPACE_NAME
------------------------------ ------------------ ------------------------------
BYTES BLOCKS EXTENTS
---------- ---------- ----------
STUDENT
TABLE USERS
65536 8 1
插入时间格式有默认的格式:
SQL> select * from NLS_SESSION_PARAMETERS where PARAMETER like 'NLS_DATE_FORMAT';
PARAMETER------------------------------------------------------------VALUE--------------------------------------------------------------------------------NLS_DATE_FORMATyyyy-mm-ssALTER SESSION SET NLS_DATE_FORMAT='yyyy-mm-ss';//当前会话有效
create table tab1 as select * from table2 where 1 > 2;//创建相同的表结构但是数据不会被复制。
truncate table student<=>delete from student的区别:
1. truncate是默认带了commit,而delete没有
2. truncate的清空是不被记录到日志中,而delete会写入日志中可以找回数据
insert into student select * from student where....;
update student set sname='A''B' where sname ='A';//插入单引号需要两个'
SQL> update student set sname='"zhangsan"' where sname='zhang''san';
1 row updated.
SQL> update student set sname='张三' where sname='"zhangsan"';
1 row updated.
SQL> select length(sname) from student;
LENGTH(SNAME)
-------------
4
4
SQL>
oracle排序可以使用列的序号进行排序:
SQL> select * from student order by 1,2;
SNO SNAME BIRTH
---------- ------------------------------ ----------
10000 张三▒ 2015-01-00
10001 lisi 1992-08-28
SQL>
在oracle中使用“是很少的但是在:
SQL> select sno as "学 号",sname from student;
学▒号▒▒ SNAME
------------ ------------------------------
10000 张三▒
10001 lisi
SQL>中使用了
SQL> select snoas '学号',sname from student;
select sno as '学号▒' ,sname from student
*
ERROR at line 1:
ORA-00923: FROM keyword not found where expected
SQL> select '学号是:'||sno || '姓名是:' ||sname from student;
'学号是:'||SNO||'姓名是:'||SNAME
--------------------------------------------------------------------------------
学号是:10000姓名是:张三▒
学号是:10001姓名是:lisi
SQL>//连接字符
------------------------------------------
SQL> select round(12.23,1) from dual;
ROUND(12.23,1)//四舍五入
--------------
12.2
SQL> select trunc(12.23,1) from dual;
TRUNC(12.23,1)//截取不带四舍五入的
--------------
12.2
SQL>
------------------------------------------
SQL> select nvl(' ','is null'),nvl('','is null') from dual;
N NVL('',
- -------
is null
SQL>//说明' '这个不算是空''这个才是空
------------------------------------------
SQL> select nvl2(' ','is null','is not null'),nvl2('','is null','is not null') from dual;
NVL2('' NVL2('','IS
------- -----------
is null is not null
SQL>
------------------------------------------
SQL> select nullif(1,1) from dual;
NULLIF(1,1)
-----------
SQL> select nullif(1,21) from dual;
NULLIF(1,21)//判断是否相等
------------
1
SQL>
相等连接:
1. select tab1.tname,tab2.tname from tab1 inner join tab2 on tab1.tname=tab2.tname ;
2. select tab1.tname,tab2.tname from tab1,tab2 where tab2.tname=tab1.tname;
做外连接:
1. select tab1.tname,tab2.tname from tab1left outtertab2 on tab2.tname=tab1.tname ;
2. select tab1.tname,tab2.tname from tab1,tab2 where
tab1.tname = tab2.tname(+);
全外连接:
1. select tab1.tname ,tab2.tname from tab1 full outter tab2
on tab1.tname = tab2.tname;
集合操作符:
SQL> select * from student
2 union//去除重复集
3 select * from student where sno =10000;
SNO SNAME BIRTH
---------- ------------------------------ ------------
10000 张三▒ 14-JAN-15
10001 lisi 01-AUG-92
SQL> select * from student
2 union all//全集
3 select * from student where sno=10000;
SNO SNAME BIRTH
---------- ------------------------------ ------------
10000 张三▒ 14-JAN-15
10001 lisi 01-AUG-92
10000 张三▒ 14-JAN-15
SQL> select * from student
2 minus//差集
3 select * from student where sno=10000;
SNO SNAME BIRTH
---------- ------------------------------ ------------
10001 lisi 01-AUG-92
SQL> select * from student
2 intersect//交集
3 select * from student where sno=10000;
SNO SNAME BIRTH
---------- ------------------------------ ------------
10000 张三▒ 14-JAN-15
SQL> |
重命名列:
SQL> alter table student rename column birth to sbirth;
Table altered.
SQL>
相关推荐
Transact-SQL基本函数集 ------------------------------ ----算术函数---- /***三角函数***/ SIN(float_expression)--返回以弧度表示的角的正弦 COS(float_expression)--返回以弧度表示的角的余弦 TAN(float_...
vb.net执行sql语句或根据sql语句生成dataTable基本公共函数,不用学基本概念,直接用就行
每个人都是从基本学习开始的,谁也不例外,积累sql基本学习,这样sql功底才能强大
SQL基本函数大全 SQL基本函数大全是SQL Server提供的一组基本函数,用于处理字符串、数学运算、日期和时间、系统信息等操作。这些函数可以帮助开发者快速、高效地完成数据处理和分析任务。 字符串函数 SQL Server...
SQLServer基本函数.字符串函数,数学函数,日期函数 ,系统函数等
sql基本函数全部包括,内容介绍详细简单容易实际。
SQL SERVER函数.CHM,基本命令,日期函数,统计函数等的实例
sqlserver函数大全 很详细 基本涵盖了 平时所用的 函数 和大家分享
最新的最全的sql语句实例,sql函数体系,包含:sql,mysql,insert,drop,update,delete,select
SQL Server基本函数详细介绍.doc
oracle SQL查询和SQL函数手册 基本涵盖了常用的 自己学习收集的 拿出来共享
很全面的SQL Server 函数, 里面基本覆盖了SQL Server常用的函数,包括集合函数,时期函数,作为备忘录相当的不错。
遗留的系统函数;聚合函数;配置函数;加密函数;游标函数;日期和时间函数;数学函数;元数据函数;行数据函数;行集函数;安全函数;字符串函数;系统函数;字符串函数;文本和图像函数;
一些基础的SQL函数
Oracle基本函数,Oracle常用经典SQL查询,有利于入门学习及供日常的使用。
它包含了窗口函数的基本概念、语法结构、参数说明以及各种实际应用示例。文档旨在帮助用户快速理解和掌握SQL窗口函数,以提高数据处理和分析的效率。 适用人群: 本速查表适用于需要使用SQL进行数据分析的专业人士...
T-sql基本语法和函数.sql
包含所有sql server基本函数的使用与解析说明
下面将详细解释SQL开窗函数的基本概念、用法以及一些常见的开窗函数。SQL开窗函数(Window Functions)是SQL中用于在结果集的每一行上执行计算的一类函数。它们通常与OVER()子句一起使用,以定义窗口或分区,并在...
SQL语句大全,包含大部分SQL语句,函数及存储过程的详细介绍