Ø 表空间
Oracle数据表存储在表空间里边
在表空间上无权限
创建表空间:Grant unlimitedtablespace to xx
临时表空间:列如排序,索引会使用临时表空间,
使用完之后立即释放
--查询默认的表空间
select * fromdba_tablespaces
--查询表空间下面的表
select * fromdba_tables where tablespace_name='USERS'
--查询用户默认的表空间
select * fromdba_users where username='SCOTT'
--查询表空间的存储位置
select * fromdba_data_files
--指定默认的表空间
alteruser cz defaulttablespace users
当添加数据时insertinto text values(20)
报错:ORA-01950:对表空间'USERS' 无权限
所以不能直接使用默认表空间,需要创建表空间。
--自定义表空间
createtablespace mytb(表空间名)
datafile 'D:\APP\ADMINISTRATOR\ORADATA\ORCL\Mydb.DBF'(路径)
size 20m (存储内存大小)
--使用自定义表空间(注意:自定义表空间后,要重新添加表)
alteruser cz defaulttablespace mytb
Ø 数值函数
求绝对值
selectabs(-12) from dual—->(12)
进一法
selectceil(12.3) from dual—->(13)
去尾法select floor
selectfloor(12.5121) from dual—->(12)
selectfloor(-12.5121) from dual—->(-13)
四舍五入
selectround(12.3) from dual—->(12)
selectround(12.5) from dual—->(13)
四舍五入保留2..n位小数
selectround(-12.5161,2) from dual—->(12.52)
selectround(12.5161,-1) from dual—->(10)
ü selectround(-412.5161,-2) from dual—->(400)
ü selectround(-412.5161,-2) from dual—->(-400)
数字截取
默认截取整数
selectabs(-412.5161) from dual—->(-412.5161)
截取小数后几位
selecttrunc(-412.5161,2) from dual—->(-412.51)
截取小数点前几位select trunc
ü selecttrunc(412.5161,-2) from dual—->(400)
ü selecttrunc(-412.5161,-2) from dual—->(-400)
Ø 字符函数
转换成大写 upper
selectupper('adb') from dual—->(ADB)
转换成小写 lower
selectlower('ABd') from dual—->(abd)
去掉空格(有时间空格的问题很坑)trim
selecttrim(' ABd ') from dual—->(ABd)
selecttrim(' AB d ') from dual—->(AB d)
去掉左边空格
selectltrim(' AB d ') from dual—->(AB d )
selectltrim(' AB d ') from dual—->( AB d)
去掉左边指定的字符
selectltrim(' AB d ') from dual—->(AB d )
selectltrim(' AB d ',' A') from dual—->(B d )
selectltrim(' AB d ','B') from dual—->( AB d )不能去掉中间
去掉右边指定的字符
selectrtrim(' AB d ','d ') from dual—->( AB)
替换函数replace
selectreplace(' AB d ',' ','') from dual—->(ABd)
selectreplace(' AB d ',' d','') from dual—->(AB)
字符串相加 concat ||
select'AB'||'d'from dual—->(ABd)
selectconcat('ni','hao') from dual—->(nihao)
截取字符串的函数 substr
selectsubstr('abcdef',0,3) from dual—->(abc) 3表示长度
selectsubstr('abcdef',1,3) from dual—->(abc) 3表示长度
selectsubstr('abcdef',2,3) from dual—->(bcd) 3表示长度
selectsubstr('abcdef',-2,3) from dual—->(ef) 3表示长度
selectsubstr('abcdef',-1,3) from dual—->(f) 3表示长度
求长度的函数 length
selectlength('abcdef') from dual—->(6)
Ø 转换函数
转化成数字 to_number
selectto_number('12345') from dual—->(12345)
解释:输出是123456,而不是’ 12345’
转化成字符串 to_char
selectto_char(12345) from dual—->(12345)
解释:输出是’ 12345’,而不是 12345
*转化成字符串,格式化时间to_char(sysdate,’yyyy-mm-ddhh24:mi:ss’) to_date
selectto_char(sysdate,'yyyy-mm-ddhh:mi:ss') from dual
—->(2017-12-06 03:02:14)
selectto_char(sysdate,'yyyy-mm-ddhh24:mi:ss') from dual
—->(2017-12-06 15:03:07)
selectto_date(sysdate) from dual
—->(2017/12/6)
来个完整年月日时分秒的时间
selectto_char(sysdate,'yyyy-mm-ddhh24:mi:ss') from dual
—->(2017-12-06 15:03:07)
时间24小时制
selectto_char(sysdate,'yyyy-mm-ddhh24:mi:ss') from dual
—->(2017-12-06 15:03:07)
Ø 处理Null的函数nvl nvl2
*为空返回制定的代替,不为空返回自己
selectnvl('','a') from dual—->(a)
selectnvl(null,'a') from dual—->(a)
selectnvl('b','a') from dual—->(b)
*不为空返回参数2为空返回参数3
selectnvl2('a','b','c') from dual—->(b)
selectnvl2('','b','c') from dual—->(c)