zoukankan      html  css  js  c++  java
  • Oracle DB Day02(SQL)

    --数据库下表一般都是从1开始,例如字符串等
    
    SELECT *FROM employees
    
    --字符串连接CONCAT()
    SELECT employee_id,email,salary,salary*12,CONCAT(CONCAT(EMPLOYEE_ID,','),SALARY)
    FROM employees
    --字符串连接 还可以使用 ||
    SELECT employee_id,email,salary,salary*12,EMPLOYEE_ID||','||SALARY
    FROM employees
    
    --length只能用来求VARCHAR2,不能求CHAR没有意义
    SELECT first_name,length(first_name)
    FROM employees;
    desc employees;
    
    --UPPER 全变大写、LOWER全变小写、INITCAP首字母大写其余小写
    SELECT first_name,UPPER(first_name)
    FROM employees;
    SELECT first_name,LOWER(first_name)
    FROM employees;
    --数据库提供了一个伪表dual,用来满足语法要求
    SELECT UPPER('hello,word')
    FROM dual
    
    --TRIM、LTRIM、RTRIM截取子串
    --trim从字符串前后删除某单一字符
    SELECT TRIM('e' From 'eekkeeeeHello World,I am Kwineeeee!eeeeeee')
    from dual;
    --ltrim 删除字符串左边的某几个字符,m默认删除空格
    SELECT LTRIM( 'hello','he')
    from dual;
    --删除字符串右面的某几个字符,默认删除口弄个
    SELECT RTRIM('hello word','world')
    from dual
    
    --LPAD、RPAD
    --LPAD左补位
    SELECT LPAD('hello ',100,'world')
    FROM DUAL ;
    --RPAD右补位
    SELECT RPAD('hello',100,'world')
    FROM dual;
    
    --SUBSTR、INSTR
    --SUBSTR 截取从哪到哪的字符串
    SELECT SUBSTR('Doctor who travels in tardis',8,16)
    FROM DUAL;
    --INSTR返回在字符串中的位置
    SELECT INSTR('Doctor Who','Who') as "words"
    FROM dual;
    
    --数值类型
    CREATE TABLE student (
    id NUMBER(10),
    name CHAR(20)
    );
    desc student
    
    --四舍五入,第二参数为小数点精确位数
    SELECT ROUND(45.678,2)
    FROM  dual;
    --trunc 用于截取
    SELECT TRUNC(45.678,2)
    from dual ;
    --floor向下取整
    SELECT floor(45.3)
    from dual;
    --CEIL向上取整
    SELECT CEIL(45.3)
    from dual;
    --mod 求余数,若第二参数为0则返回第一参数
    SELECT MOD(13.3,10)
    from dual;
    
    --日期操作
    CREATE TABLE time(
    c1 DATE,
    c2 TIMESTAMP
    
    )
    
    SELECT sysdate from dual;
    SELECT to_char(systimestamp,'YYYY-MM-dd HH24:mm:ss.ff DY DAY') from dual ;
    --返回指日期的当月最后一天
    SELECT LAST_DAY(sysDATE) FROM dual;
    --指定日期加上i个月后的日期
    SELECT ADD_MONTHS(sysdate,20*12) from dual;
    --计算两个日期间之间有多少个月MONTHS_BETWEEN
    SELECT MONTHS_BETWEEN('2019-12-25',sysdate) from dual;
    --NEXT_DAY 返回日期数据的下一个周几,周日为1
    SELECT NEXT_DAY(sysdate , 1) from dual;
    
    --LEAST、GREATEST 返回最小或最大值,比较的必须是同一类型
    SELECT LEAST(34,555,7999,2,3344) from dual;
    SELECT GREATEST(34,555,7999,2,3344) from dual;
    --EXTRACT 从参数中提取date指定的年月日等
    SELECT EXTRACT(YEAR FROM SYSDATE) FROM DUAL;
    SELECT EXTRACT(MONTH FROM SYSDATE) FROM DUAL;
    SELECT EXTRACT(DAY FROM SYSDATE) FROM DUAL;
    
    --数据库中任何数据类型都可以取null值 
    --null查询用 IS NULL
    --NOT NULL非空约束
    
    desc employees
    select * from employees;
    --NVL() 若第一参数为null,则取值第二参数
    SELECT employee_id,first_name,salary,salary + NVL(commission_pct,10) as "sal" from employees;
    --NVL2() 若第一参数为null,则取值第三参数;否则第一参数非null取值第二参数
    SELECT employee_id,first_name,salary,salary + NVL2(commission_pct,10,14) as "sal2" from employees;
  • 相关阅读:
    phpajax高级篇
    一天学会ajax (php环境)
    php生成静态文件的方法
    MongoDB查询文档
    MongoDB删除文档
    MongoDB索引管理
    MongoDB插入文档
    MongoDB排序记录
    MongoDB 更新文档
    mongoDB 固定集合(capped collection)
  • 原文地址:https://www.cnblogs.com/kwinwei/p/10584055.html
Copyright © 2011-2022 走看看