`
javalinjx
  • 浏览: 87315 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

SQL 21 天自学通学习笔记 2

阅读更多

日期、时间函数:

 

select * from project;

 

针对日期型:

 

1. add_months:  增加月份

    select * from task,startdate,enddate,original_end,add_months(enddate,2) from project;

 

    select  task tasks_shorter_than_one_month from project where add_months(startdate,1) > enddate;

 

2. last_day: 最后一天

 

select enddate,last_day (enddate) from project;

 

select distinct last_day('1-FEB-95') NON_LEAP,LAST_DAY('1-FEB-96') LEAP FROM PROJECT;

 

3. months_between: 中间有几个月

 

select task,startdate,enddate,months_between(enddate,startdate) duration from project;

 

select * from project where months_between('19 MAY 95',STARTDATE) > 0;

 

4. new_time: 调整时区

 

select enddate edt,new_time(enddate,'edt','pdt') from project;

 

5. next_day: 返回与指定日期同一星期或下一星期的,星期几的确切日期;

 

select startdate,next_day(startdate,'friday') from project;

 

6. sysdate:系统日期和时间

 

select distinct dysdate from project;

 

select * from project where startdate > sysdate;

 

 

数学函数:

 

1. ABS : 绝对值 

 

select ABS(A) absolute_value from numbers;

 

2. CELL (比参数大的最小整数) 和 FLOOR(比参数小的最大整数)

 

select B,cell(B) ceiling from numbers;

 

select A,floor(A) floor from numbers;

 

3. COS COSH SIN SINH TAN TANH 三角函数,默认参数认定为弧度制;

 

4. EXP : 返回给定参数为指数,e为底数的幂值;

 

select A,EXP(A) from numbers;

 

5. LN : 返回给定参数的自然对数;

 

6. LOG: 返回结合参数的对数;

 

7. MOD: 取模;

 

SELECT A B MOD A B FROM NUMBERS

 

8. POWER: 幂数;

 

SELECT A B POWER A B FROM NUMBERS;

 

9. SIGN:如果参数的值为负数那么SIGN 返回-1 如果参数的值为正数那么SIGN 返回1

如果参数为零那么SIGN 也返回零;

 

SELECT A SIGN A FROM NUMBERS

 

 

10. SQRT:开方

 

SELECT A SQRT A FROM NUMBERS

 

 

字符串函数:

 

1. concat : 连接,等同“|| ”;

 

2. initcap:首字母转大写

 

select firstname before,initcap(firstname) after from characters;

 

3.  upper,lower

 

select firstname,upper(firstname),lower(firstname) from characters

 

4. lpad,rpad  填充字符串 , 至少两个参数

 

SQL>  select lastname,lpad(lastname,20,'*') from characters;

 

LASTNAME                             LPAD(LASTNAME,20,'*')

------------------------------------ ----------------------------------------

PURVIS                               **************PURVIS

TAYLOR                               **************TAYLOR

CHRISTINE                            ***********CHRISTINE

ADAMS                                ***************ADAMS

COSTALES                             ************COSTALES

KONG                                 ****************KONG

 

6 rows selected

 

SQL>  select lastname,rpad(lastname,20,'*') from characters;

 

LASTNAME                             RPAD(LASTNAME,20,'*')

------------------------------------ ----------------------------------------

PURVIS                               PURVIS**************

TAYLOR                               TAYLOR**************

CHRISTINE                            CHRISTINE***********

ADAMS                                ADAMS***************

COSTALES                             COSTALES************

 

 

5. ltrim,rtrim 截取字符串  ,至少一个参数

 

SQL> select lastname,rtrim(lastname) from characters;

 

LASTNAME                             RTRIM(LASTNAME)

------------------------------------ ------------------------------------

PURVIS                               PURVIS

TAYLOR                               TAYLOR

CHRISTINE                            CHRISTINE

ADAMS                                ADAMS

COSTALES                             COSTALES

KONG                                 KONG

 

6 rows selected

 

6. replace : 替换 

 

SQL> select lastname,replace(lastname,'ST','') replacement from characters;

 

LASTNAME                             REPLACEMENT

------------------------------------ ------------------------------------

PURVIS                               PURVIS

TAYLOR                               TAYLOR

CHRISTINE                            CHRIINE

ADAMS                                ADAMS

COSTALES                             COALES

KONG                                 KONG

 

6 rows selected

 

SQL> select lastname,replace(lastname,'ST',null) replacement from characters;

 

LASTNAME                             REPLACEMENT

------------------------------------ ------------------------------------

PURVIS                               PURVIS

TAYLOR                               TAYLOR

CHRISTINE                            CHRIINE

ADAMS                                ADAMS

COSTALES                             COALES

KONG                                 KONG

 

6 rows selected

 

SQL> select lastname,replace(lastname,'ST','*') replacement from characters;

 

LASTNAME                             REPLACEMENT

------------------------------------ ------------------------------------

PURVIS                               PURVIS

TAYLOR                               TAYLOR

CHRISTINE                            CHRI*INE

ADAMS                                ADAMS

COSTALES                             CO*ALES

KONG                                 KONG

 

6 rows selected

 

7. substr : 截取字串

 

SQL> select firstname,substr(firstname,2,3) from characters;

 

FIRSTNAME                            SUBSTR(FIRSTNAME,2,3)

------------------------------------ ---------------------

kelly                                ell

CHUCK                                HUC

LAURA                                AUR

FESTER                               EST

ARMANDO                              RMA

MAJOR                                AJO

 

6 rows selected

 

SQL> select firstname,substr(firstname,3) from characters;

 

FIRSTNAME                            SUBSTR(FIRSTNAME,3)

------------------------------------ --------------------------------------------------------------------

kelly                                lly

CHUCK                                UCK

LAURA                                URA

FESTER                               STER

ARMANDO                              MANDO

MAJOR                                JOR

 

6 rows selected

 

 

8. translate : 翻译函数 ,三个参数,对大小写敏感

 

select firstname,translate(firstname,'0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ','NNNNNNNNNNAAAAAAAAAAAAAAAAAAAAAAAAAA')

  2  from characters;

 

FIRSTNAME                            TRANSLATE(FIRSTNAME,'012345678

------------------------------------ ------------------------------------------------------------------------

kelly                                kelly

CHUCK                                AAAAA

LAURA                                AAAAA

FESTER                               AAAAAA

ARMANDO                              AAAAAAA

MAJOR                                AAAAA

 

6 rows selected

 

 

9. instr 搜索函数

 

SQL> select lastname, instr(lastname,'O',2,1)from characters;

 

LASTNAME                             INSTR(LASTNAME,'O',2,1)

------------------------------------ -----------------------

PURVIS                                                     0

TAYLOR                                                     5

CHRISTINE                                                  0

ADAMS                                                      0

COSTALES                                                   2

KONG                                                       2

 

6 rows selected

 

10 lenght : 返回字符串的长度

 

SQL>  select firstname,length(rtrim(firstname)) from characters;

 

FIRSTNAME                            LENGTH(RTRIM(FIRSTNAME))

------------------------------------ ------------------------

kelly                                                       5

CHUCK                                                       5

LAURA                                                       5

FESTER                                                      6

ARMANDO                                                     7

MAJOR                                                       5

 

6 rows selected

 

 

转换函数:

 

1. to_char: 转换成字符串;

 

select testnum,length(to_char(testnum)) from conversions;

 

TESTNUM LENGTH(TO_CHAR(TESTNUM))

------- ------------------------

     95                        2

     23                        2

     68                        2

 

2. to_number: 转换成数字;

 

select name,testnum,testnum*to_number(name) from conversions;

 

NAME            TESTNUM TESTNUM*TO_NUMBER(NAME)

--------------- ------- -----------------------

40                   95                    3800

13                   23                     299

74                   68                    5032

 

3. greatest , least

 

SQL> select greatest('ALPHA','BRAVO','FOXTROT','DELTA') FROM CONVERSIONS;

 

GREATEST('ALPHA','BRAVO','FOXT

------------------------------

FOXTROT

FOXTROT

FOXTROT

 

SQL> select least(34,567,3,45,1090) from conversions;

 

LEAST(34,567,3,45,1090)

-----------------------

                      3

                      3

                      3

 

4. user 查询表所属的用户;

 

SQL> select user from characters;

 

USER

------------------------------

oracle

0
0
分享到:
评论

相关推荐

    快学上手的SQL自学教材-SQL21日自学通

    《SQL21日自学通》是一本专门为初学者设计的SQL学习教材,旨在帮助读者在短时间内掌握SQL的基础知识和实际应用技巧。...所以,如果你是SQL的初学者,准备好你的笔记本,让我们一起开始这段精彩的SQL自学之旅吧!

    SQL学习全笔记

    总的来说,这份"SQL学习全笔记"涵盖了从基础到高级的SQL知识,包括数据库管理、查询技巧、函数应用以及事务处理等内容。无论你是刚接触SQL的新手,还是希望巩固提升的开发者,都能从中受益。通过深入学习和实践,你...

    T-SQL电子书包含PPT及学习笔记、课后作业 非常好的sql学习资料

    T-SQL中级教程,包括PPT、学习笔记及课后作业,非常经典的教程 --建库之前先建路径的代码 exec xp_cmdshell'mkdir d:\mydata', --也可以用exec xp_cmdshell'md d:\mydata' no_output exec xp_cmdshell'rd d:\...

    数据库自学笔记-SQL

    在SQL自学笔记中,我们将基于《Oracle 11g 入门到精通》这本书来深入理解SQL的各个重要概念。 首先,SQL主要分为四个核心部分: 1. 数据定义功能(DDL,Data Definition Language):这是SQL用于创建、修改和删除...

    SQL SERVER 自学教程(有基础才好学)

    本教程“SQL SERVER 自学教程(有基础才好学)”旨在帮助那些已经对数据库有一定理解的学习者进一步提升SQL Server的技能。 首先,你需要了解SQL语言的基础,包括SELECT语句用于查询数据,INSERT用于插入数据,UPDATE...

    SQL server2019 学习笔记之SQL Server 2019 安装教程.html

    第一步:下载安装SQL server2019 下载地址:https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 【方式一】要求严苛 在这里插入图片描述 【方式二】自学上进 在这里插入图片描述

    菜鸟的SAP自学学习笔记

    ### SAP自学学习笔记知识点概述 #### 一、配置总体框架 **1.1 系统环境** - **定义**: 指的是SAP系统的基本硬件和软件环境。 - **重要性**: 正确配置系统环境是确保SAP系统正常运行的基础。 - **涉及内容**: - ...

    NHibernate自学学习笔记

    这篇学习笔记将带你深入理解NHibernate的基础知识,包括安装配置、对象模型设计、映射配置、会话管理以及基本的数据库操作。 一、NHibernate简介 NHibernate 是一个开源的 ORM 解决方案,它允许开发者用面向对象的...

    SQL server2000自学教程

    在这个自学教程中,你将能够学习到如何创建数据库、定义数据表结构、编写 SQL 查询语句以及进行数据的增删改查操作。 1. **数据库基础**:首先,教程会介绍数据库的基本概念,如实体、关系、字段和记录,以及 SQL ...

    自学Oracle数据必备的学习笔记

    本学习笔记旨在帮助自学者系统地掌握Oracle数据库的关键概念和技术,包括安装配置、SQL语言、表的设计、索引、视图、存储过程、触发器、事务处理以及备份恢复等核心知识点。 一、Oracle安装与配置 Oracle数据库的...

    MySQL的自学笔记_2

    ### MySQL的自学笔记_2 #### 学习前准备与基本概念回顾 在开始深入学习MySQL之前,我们需要先了解几个基本的概念以及准备一些基础的数据表。这里提到了三个主要的数据表: 1. **Employee(员工)**:这个表通常...

    自学笔记自学笔记自学笔记自学笔记自学笔记

    ### 自学笔记之若依框架详解 #### 一、若依框架概述 若依框架是一款专为Java开发者设计的企业级快速开发平台。该框架通过提供一系列成熟稳定的组件和服务,简化了开发过程,使得开发者能够更加专注于业务逻辑的...

    Oracle学习笔记.pdf

    以下是对Oracle学习笔记中提到的一些关键知识点的详细解释: 1. **SQL执行顺序**: SQL语句的执行顺序是:`FROM` -> `WHERE` -> `SELECT` -> `GROUP BY` -> `HAVING` -> `ORDER BY`。首先从`FROM`子句开始,确定...

    ORACLESQL自学1.ppt

    ORACLE SQL 自学笔记是学习 ORACLE SQL 的入门教程,旨在帮助读者快速了解 ORACLE SQL 的基本知识和使用方法。本笔记涵盖了 SELECT 语句的基本用法、SQL 语言和 SQL*Plus 命令的不同、算术运算符的使用、操作符...

    达内云笔记完整项目包含sql文件

    【达内云笔记完整项目】是一个专为Java学习者设计的综合学习资源包,其中包含了对数据库管理至关重要的`sql`文件以及相关的辅助资源。这个项目的目标是帮助那些在网上购买Java课程的学员进行自我学习,提供一个实际...

    sql语句+个人笔记

    sql语句中的精华,简单明了,易于学习,对于自学者非常有好处,值得去下载看看

    Oracle自学自学笔记.docx

    Oracle自学自学笔记主要涵盖Oracle数据库的基本安装验证、常用工具、SQL语言基础以及用户管理等内容。以下是对这些知识点的详细说明: 1. **Oracle安装验证**: - 在安装完成后,Oracle提供了一系列工具供用户管理...

    OCP学习18天详细笔记

    这“OCP学习18天详细笔记”是一个系统的自学过程记录,涵盖了Oracle数据库的基础到进阶内容。 在第一天的学习中,你可能接触到了Oracle数据库的基础概念,包括数据库的定义、Oracle数据库的架构,以及如何安装和...

    mybatis自学笔记01

    【标题】"mybatis自学笔记01"涵盖了MyBatis框架的基础学习内容,这是一份详细记录了MyBatis配置和使用方法的自学教程。MyBatis是一个优秀的持久层框架,它支持定制化SQL、存储过程以及高级映射。它的核心设计理念是...

    MySQL学习笔记-基础到进阶

    内容概要:MySQL学习笔记,内容包括SQL基本语法、MySQL基础知识,包括存储引擎、索引、视图、锁、优化、存储结构等MySQL主要的内容。 适用人群:适合自学MySQL的同学使用。 能学到什么:MySQL从基础到进阶的全部内容...

Global site tag (gtag.js) - Google Analytics