Oracle数据库 —— SQL之select语句(3) 单行函数

前端之家收集整理的这篇文章主要介绍了Oracle数据库 —— SQL之select语句(3) 单行函数前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

6 select语句

6.4 单行函数

  单行函数:针对每一行数据都做处理,sql语句影响多少行数据就返回多少个结果。

1 upper 变大写

  select first_name,upper(first_name) from s_emp;
  select first_name,upper(first_name) from s_emp where id=1;
  select first_name,upper(first_name) from s_emp where id<1;
  
  为了测试单行函数—测试表—dual,是一张单行单列的表
  select upper(‘hello’) from dual;


2 count

  函数:针对一组数据进行处理,无论sql语句影响多少行,都返回一个结果。
  select count(id) from s_emp;
  select count(id) from s_emp where id=1;
  select count(id) from s_emp where id<1;


3 lower 返回变小写后的字符串

  select lower(‘HELLO’) from dual;
  select upper(‘hello’),lower(‘HELLO’) from dual;


4 initcap把每个单词的首字母变大写

  select initcap(‘one world one dream’) from dual;


5 concat(par1,par2)连接字符串,

  select concat(‘hello’,’world’) from dual;
  select concat(concat(‘hello’,’world’),’hello’) from dual;
  select ‘hello’||’world’||’hello’ from dual;


6 length求字符串的长度

  select length(‘hello’) from dual;


7 substr(par1,par2,par3)

  字符串截取函数,par1要截取的字符串,par2从一个位置开始截取,从1开始,也可以是负数,-1代表最后一个字符;par3截取多长
  select substr(‘hello’,2) from dual;
  select substr(‘hello’,1,2) from dual;
  /*把s_emp表的first_name和first_name前三个字符列出来*/
    select first_name,substr(first_name,3) firnm3 from s_emp;
  /*把s_emp表的first_name和first_name后三个字符列出来*/
    select first_name,-3,3) from s_emp;
  nvl(par1,par2) par1和par2类型要一致


8 格式显示函数to_char(par1,par2)

  par1 是要处理的字段或者数据;
  par2 是格式字符串 可以省略,如果省略代表把数据变成字符串类型;
  fm 格式字符串开始。

  9 任意的数字
    但在小数点后面就只能代表1-9(整数就不显示小数位)
  0 强制显示前导零
    12345 012,345.00
  $ 美元符号
  L 本地货币符号
  , 分割符号
  . 小数点

  select salary,to_char(salary,’fm$099,999.99’) from s_emp;
  select salary,999.00’) from s_emp;
  select salary,’fmL099,999.99’) from s_emp;


9 处理数字的round 四舍五入

  select round(9.76) from dual;
  select round(9.49) from dual;

  select round(9.76,0) from dual;
  select round(9.49,0) from dual;

  select round(9.76,1) from dual;
  select round(9.49,1) from dual;

  select round(9.49,-1) from dual;
  select round(2.42,-1) from dual;


10 处理数字的trunc截取

  select trunc(9.76) from dual;
  select trunc(2.42) from dual;

  select trunc(9.76,0) from dual;
  select trunc(9.49,0) from dual;

  – 9.7
  select trunc(9.76,1) from dual;
  /* 9.4 */
  select trunc(9.49,1) from dual;

  select trunc(9.49,-1) from dual;
  select trunc(12.88,-1) from dual;
  select trunc(1234.56,-2) from dual;(结果是1200)


11 函数嵌套:

  把一个函数的返回值作为另一个函数的参数。   列出first_name和first_name的后三个字符     select first_name,length(first_name)-2,3) from s_emp;   列出s_emp id first_name manager_id,如果manager_id为NULL显示成BOSS     select id,first_name,nvl(to_char(manager_id),’BOSS’) from s_emp;

猜你在找的Oracle相关文章