--数值型函数
select ceil(12.3) from dual; --大于或等于n的最小整数
select floor(12.3) from dual; --小于等于n的最大整数
select mod(15,2) from dual; --取余
select power(2,4) from dual; --2的4次方
select round (3.1415926,2) from dual; --保留几位有效数字
select sign(-12) from dual; --判断正负,正返回1,负返回-1
select sqrt(16) from dual; --开平方
select ceil(12.3) from dual; --大于或等于n的最小整数
select floor(12.3) from dual; --小于等于n的最大整数
select mod(15,2) from dual; --取余
select power(2,4) from dual; --2的4次方
select round (3.1415926,2) from dual; --保留几位有效数字
select sign(-12) from dual; --判断正负,正返回1,负返回-1
select sqrt(16) from dual; --开平方
--字符型函数
select initcap('liu guotai') from dual; --首字母大写
select lower('ADFHBSDJFKsdkjf') from dual; --全部小写
select upper('jdsfbsjfbbi') from dual; --全部大写
select replace('liuguotai','l','y') from dual; --代替字符函数,将liuguotai中l变成y
select substr('123456',4,3) from dual; --截取字符串
select length('1234567')from dual; --长度
select '123'||'456' from dual; --将字符串连接(这个不属于函数)
select concat('123','456') from dual; --正儿八经的字符串连接函数
select lpad('12345',6,'0') from dual; --固定字符串长度为6,不足在前面补第三个参数的值
--如果固定长度小于字符串长度,则返回从左数长度为固定长度的字符
select rpad('12345',6,'0') from dual; --与上面相反
--如果固定长度小于字符串长度,则返回从左数长度为固定长度的字符
select ltrim(' 123') from dual; --去左边空格
select rtrim('123 ')from dual; --去右边空格
select soundex('cat') from dual; --从str返回一个soundex字符串。两个字符串应该有几乎是相同的同音字符串(并不是很清楚是什么意思)
select translate('123456','123','abc') from dual; --将参数1中与参数2相同部分转换成参数3
SELECT ascii('abcd') from dual; --返回参数中第一个字符的ascii码
SELECT INSTR('aptech is aptechap','ap',1,2) FROM DUAL; --参数1要查找的字符串,
--参数2要查找哪个字符在参数1中的位置,参数3查找开始位置,参数4第几次出现,返回其位置
select initcap('liu guotai') from dual; --首字母大写
select lower('ADFHBSDJFKsdkjf') from dual; --全部小写
select upper('jdsfbsjfbbi') from dual; --全部大写
select replace('liuguotai','l','y') from dual; --代替字符函数,将liuguotai中l变成y
select substr('123456',4,3) from dual; --截取字符串
select length('1234567')from dual; --长度
select '123'||'456' from dual; --将字符串连接(这个不属于函数)
select concat('123','456') from dual; --正儿八经的字符串连接函数
select lpad('12345',6,'0') from dual; --固定字符串长度为6,不足在前面补第三个参数的值
--如果固定长度小于字符串长度,则返回从左数长度为固定长度的字符
select rpad('12345',6,'0') from dual; --与上面相反
--如果固定长度小于字符串长度,则返回从左数长度为固定长度的字符
select ltrim(' 123') from dual; --去左边空格
select rtrim('123 ')from dual; --去右边空格
select soundex('cat') from dual; --从str返回一个soundex字符串。两个字符串应该有几乎是相同的同音字符串(并不是很清楚是什么意思)
select translate('123456','123','abc') from dual; --将参数1中与参数2相同部分转换成参数3
SELECT ascii('abcd') from dual; --返回参数中第一个字符的ascii码
SELECT INSTR('aptech is aptechap','ap',1,2) FROM DUAL; --参数1要查找的字符串,
--参数2要查找哪个字符在参数1中的位置,参数3查找开始位置,参数4第几次出现,返回其位置
--日期函数
select sysdate from dual; --获取当前时间
select last_day(sysdate) from dual;--本月最后一天
select add_months(sysdate,2) from dual; --从本月向后推两个月
select months_between(sysdate,to_date('2017/09/07','yyyy/mm/dd')) from dual; --两个日期之间差几个月(可能会出现小数)
select next_day( sysdate, '星期一') from dual; ---当前日期后第一周指定周几的日期(在这里星期几需要写汉字)
select to_date('2016/09/03','yyyy/MM/dd hh24:mi:ss') from dual; --to_date的简单用法
select sysdate from dual; --获取当前时间
select last_day(sysdate) from dual;--本月最后一天
select add_months(sysdate,2) from dual; --从本月向后推两个月
select months_between(sysdate,to_date('2017/09/07','yyyy/mm/dd')) from dual; --两个日期之间差几个月(可能会出现小数)
select next_day( sysdate, '星期一') from dual; ---当前日期后第一周指定周几的日期(在这里星期几需要写汉字)
select to_date('2016/09/03','yyyy/MM/dd hh24:mi:ss') from dual; --to_date的简单用法
--关于日期转换函数(to_char)
select to_char(sysdate,'dd') from dual; --显示日期的天 dd
select to_char(sysdate,'MM') from dual; --显示日期的月 MM(尽量用MM不要写mm)
select to_char(sysdate,'yyyy') from dual; --显示日期的年份
select to_char(sysdate,'yyy') from dual; --年份的后三位
select to_char(sysdate,'yy') from dual; --显示年份的后来两位
select to_char(sysdate,'y') from dual; --显示年份的后一位
select to_char(sysdate,'Q') from dual; --显示该日期的季度(每三个月为一个季度)
select to_char(sysdate,'RM')from dual; --日期的罗马表示
select to_char(sysdate,'month') from dual; --与之前的MM相比,多了一个月字
select to_char(to_date('2016/09/03','yyyy/MM/dd'),'WW') from dual; --显示现在是这一年的第几周
select to_char(sysdate,'W') from dual; --显示现在是这个月的第几周
select to_char(sysdate,'DDD') from dual; --当年的第几天
select to_char(sysdate,'DD') from dual; --当月第几天
select to_char(sysdate,'D') from dual; --当周第几天
select to_char(to_date('2016/09/04','yyyy/MM/dd'),'DY') from dual; --当前天是第几天
select to_char(sysdate,'hh12:mi:ss') from dual; --转换成12小时制
select to_char(sysdate,'hh24:mi:ss') from dual; --24小时制显示当前时间
--select sysdate from dual; 直接获取当前时间(24小时制)
select to_char(sysdate,'yyyy[MM@dd') from dual; --这句话是说明只要yyyy等写对了,其它格式自己随意
--运行结果2017[10@06
--关于不知道怎么分类的
--数字与字符串之间
select to_char(123456) from dual; --数字转换成字符串(可以进行字符串的一些操作)
select ltrim(to_number('0123456')) from dual; --字符串转成数字(前提是可以转换)
begin
dbms_output.put_line('12334'); ---输出函数,执行完之后在顶上点输出可以看到结果
end;
dbms_output.put_line('12334'); ---输出函数,执行完之后在顶上点输出可以看到结果
end;