往Oracle 中导入数据时,有一个列导入的数据应该时‘2017-04-17’ 的格式,结果导入的数据为 ‘2017/04/17’格式的,1000多条记录要一条条改基本不可能。 于是想到了replace这个函数,具体用法如下:update 表1 t set t.列1=replace((select 列1 from 表1 a where a.主键列=t.主键列) , ‘/‘ , ‘-‘ ) 解决了我们问题。 replace 函数用法如下:replace(‘将要更改的字符串‘,‘被替换掉的字符串‘,‘替换字符串‘)例:select ...
1.聚合函数 同时对一组数据行进行操作,对每组行返回一行输出结果,叫做分组函数。(将多行数据分成一行或多行,每组行只返回一行结果) 1.1聚合函数不能出现在where字句中 1.2常用的聚合函数: count: 表示返回满足条件的总行数,(注:建议用rowid统计总行数,因为它代表唯一的物理地址,或者用唯一标识符(主键);) 使用 * 效率慢,因为它先会去select * from all_t...
?SQL中不同类型的函数?在SELECT 语句中使用字符,数字,日期和转换函数?使用条件表达式两种SQL函数单行函数:?操作数据对象?接受参数返回一个结果?只对一行进行变换?每行返回一个结果?可以转换数据类型?可以嵌套?参数可以是一列或一个值function_name [(arg1,arg2,...)]字符型函数: 大小写控制函数大小写控制函数:这类函数改变字符的大小写。LOWERUPPERINITCAP显式数据类型转换:SELECT TO_CHAR(sysdate,‘yyyy-mm-ddhh:mi...
1、set linesize 100; 设置长度 2、set pagesize 30; 设置每页显示数目 3、em a.sql 打开记事本 4、@ a 执行文件a中的代码,可指定文件的路径 @d:a.txt 5、conn 用户名/密码 根据用户名和密码连接数据库 如果连接超级管理员(sys) 则应加上as sysdba; 6、show user; 显示当前连接的用户 7、select * from tab; 得到当前用户下的所有表 8、desc temp; 查看表结构 9、/ 继续执行上一个查询语句 clear scr...
函数的定义:CREATEORREPLACEFUNCTION FUNCTION_TEST(PARAMER1 INVARCHAR, -- 参数的类型不写长度PARAMER2 OUT VARCHAR,PARAMER3 INVARCHAR)RETURNVARCHAR -- 函数要写返回值AS -- 表示函数体的开始PARAMER4 VARCHAR(40); -- 定义内部参数PARAMER5 VARCHAR(40);
BEGINPARAMER4 := CONCAT(PARAMER1, PARAMER3); -- 赋值符号为 :=PARAMER5 := CONCAT(PARAMER3, PARAMER1);PARAMER2 := CONCAT(PARAMER4, PARAMER5);RETURN‘S...
一、日期格式转换 to_char(date,‘格式‘);select to_date(‘2005-01-01 ‘,‘yyyy-MM-dd‘) from dual;
select to_char(sysdate,‘yyyy-MM-dd HH24:mi:ss‘) from dual;
二、数字格式转换to_char(number,‘格式‘);select to_char(88877) from dual;
select to_char(1234567890,‘099999999999999‘) from dual;
select to_char(12345678,‘999,999,999,999‘) from dual;
select to_char(123456,‘99.999‘) from dual;
se...
文章转载自「开发者圆桌」一个关于开发者入门、进阶、踩坑的微信公众号650) this.width=650;" src="/upload/getfiles/default/2022/11/10/20221110090757659.jpg" height="200" width="200" />数据库中的函数封装了一些通用的功能,例如日期类型和字符串类型之间的转换,每个数据库系统都内置了一些函数,当然用户也可以自定义函数。在Oracle数据库中,函数可总分为单行函数、分组函数「亦称聚合函数」、分析函数三类。单行函数单行...
最近工作上在做工作流的一个物流系统,遇到了挺多Oracle Sql的查询,突然感觉自己的SQL语句很差啊,连基本的查询语句都不会了,今天看会原来在项目中用到的SQL查询语句,总结记录一下。Oracle大师Thomas Kyte在他的经典著作中,反复强调过一个实现需求方案选取顺序:“如果你可以使用一句SQL解决的需求,就使用一句SQL;如果不可以,就考虑PL/SQL是否可以;如果PL/SQL实现不了,就考虑Java存储过程是否可以;如果这些都不可能实现,...
常用命令:连接sqlplus命令行下运行cmd进入,如以sys模式登陆,命令如下:(1).sqlplus "sys/zhb126 as sysdba"(2).sqlplus/nolog connect sys/zhb126 as sysdba(3).sqlplus scott/tiger启动数据库实例startup --启动数据库的同时启动控制文件、数据文件startup mount --启动数据库的同时启动控制文件、不启动数据文件startup nomount --仅启动数据库实例,用于控制文件丢失情况,此时控制文件无法启动关闭数据库实例shutdown --正...
一 概述:1、管道函数即是可以返回行集合(可以使嵌套表nested table 或数组 varray)的函数,我们可以像查询物理表一样查询它或者将其 赋值给集合变量。2、管道函数为并行执行,在普通的函数中使用dbms_output输出的信息,需要在服务器执行完整个函数后一次性的返回给客户端。如果需要在客户端实时的输出函数执行过程中的一些信息,在oracle9i以后可以使用管道函数(pipeline function)。3、关键字PIPELINED表明这是一个oracle管道...
SELECT INITCAP(‘the soap‘) "Capitals" FROM DUAL; --首字母大写 帕斯卡命名法selectLOWER(‘XIAOJIANJIAN‘) "list" FROM DUAL;
SELECTLOWER(‘MR. SCOTT MCMILLAN‘) "Lowercase" FROM DUAL; --全部小写SELECTUPPER(‘last_name‘) "Uppercase"FROM DUAL; --全部大写SELECT CONCAT(CONCAT(‘last_name‘, ‘‘‘s job category is ‘),student."id") "Job" FROM student WHERE student."id" =3;--连接字符串SELECT SUBST...
TO_DATETO_DATE(char[,fmt[nlsparams]])char:要转换的字符串fmt:格式nlsparams:指定日期语言例如:查询2002年以后入职的员工:select * from emp where hiredate>to_date(‘2002-01-01‘,‘YYYY-MM-DD‘);常见日期格式见下表:YY:2位数字年份YYYY:4位数字年份MM:2位数字月份MON:简拼的月份MONTH:全拼的月份DD:2位数字的天DY:周几的缩写DAY:周几的全拼HH24:24小时制时间HH12:12小时制时间MI:显示分秒SS:显示秒原文:htt...
1.1trunc函数处理数字trunc函数返回处理后的数值,其工作机制与ROUND函数极为类似,只是该函数不对指定小数前或后的部分做相应舍入选择处理,而统统截去。
其具体的语法格式如下
TRUNC(number[,decimals])
其中:
number 待做截取处理的数值
decimals 指明需保留小数点后面的位数。可选项,忽略它则截去所有的小数部分。
1select trunc(123.98)from dual;
2select trunc(123.123,2)from dual;
3select trunc(123.123,-1)from dua...
round(x[,y])【功能】返回四舍五入后的值 【参数】x,y,数字型表达式,如果y不为整数则截取y整数部分,如果y>0则四舍五入为y位小数,如果y小于0则四舍五入到小数点向左第y位。 【返回】数字 【示例】 select round(5555.6666,2.1),round(5555.6666,-2.6),round(5555.6666) from dual; 返回: 5555.67 , 5600 , 5556 【相近】trunc(x[,y]) 返回截取后的值,用法同round(x[,y]),只是不四舍五入 trunc(x[,y])【功能】返回x按精度y截取后...
分页查询 rownum 表示行号,实际上此是一个列,但是这个列是一个伪列,此列可以在每张表中出现。 rowid 表示每一列对应的十六进制物理地址值 通俗的讲:rowid是相对不变的,rownum会变化,尤其是使用order by的时候。1--;逻辑排序,从1开始,按顺序排序2select*,rownum from emp1、查询最后一条消息1select*2denghufrom emp
3where rowid =(selectmax(rowid) from emp )2、删除最早最新的数据1deletefrom emp where empno in...