4.有关日期格式属性修改常识,v$nls_parameters,between and,查询指定部门的员工信息,in和null,like模糊查询,order by后面可以跟:列名、表达式、别名、序号



1
 有关日期格式属性修改
常识

NLS_DATE_FORMAT           DD-MON-RR

select sysdate from dual;

NLS_CURRENCY                

可以通过下面的方式查到上面的格式默认参数:


v$nls_parameters

SQL>select * from v$nls_parameters;

结果略:

3
修改默认参数

alter session set NLS_DATE_FORMAT=‘DD-MON-RR‘;

alter session set NLS_DATE_FORMAT=‘yyyy-mm-dd‘;

----查询比81年1月1号
入职晚的员工

select*

fromemp

where hiredate > ‘01-1月
-81‘;

运行结果略:

注意:

------- oracle支持
隐式类型转换 ..eg char****====>date,抛砖

-------- 日期转换的函数.....

------ 日期和字符串‘‘

-------日期是格式敏感

4
语法格式:

select ....

from .....

where col > 30

col  in()

col between a and b .. 
a要小b []

5
查询工资在1000~2000之间的员工信息

select *

from emp

where sal between 1000 and 2000;

等价:

select *

from emp

where sal >=1000 and sal <=2000

EMPNO ENAME      JOB             
MGR HIREDATE              SAL      
COMM    DEPTNO

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

7499 ALLEN     
SALESMAN        7698 20-2月 -81          
1600        300         30

7521 WARD      
SALESMAN        7698 22-2月 -81          
1250        500         30

7654 MARTIN    
SALESMAN        7698 28-9月 -81          
1250       1400         30

7844 TURNER    
SALESMAN        7698 08-9月 -81          
1500          0         30

7876 ADAMS     
CLERK           7788 23-5月 -87          
1100                    20

7934 MILLER    
CLERK           7782 23-1月 -82          
1300                    10

错误案例:


select *

2      
from emp

3*     
where sal between 1000 and200

SQL> /

6
查询10 20号部门的员工信息

select * from emp

whereDEPTNO in (10, 20)


查询不是10 20号部门的员工信息

select* from emp

whereDEPTNO not in (10, 20)

EMPNO ENAME      JOB             
MGR HIREDATE              SAL      
COMM    DEPTNO

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

7369 SMITH      CLERK         
 7902 17-12月-80           
800                    20

7566 JONES      MANAGER        
7839 02-4月 -81          
2975                    20

7782 CLARK      MANAGER        
7839 09-6月 -81          
2450                    10

7788 SCOTT      ANALYST        
7566 19-4月 -87          
3000                    20

7839 KING       PRESIDENT           
17-11月-81          
5000                    10

7876 ADAMS      CLERK          
7788 23-5月 -87          
1100                    20

7902 FORD       ANALYST        
7566 03-12月-81          
3000                    20

7934 MILLER     CLERK          
7782 23-1月 -82          
1300                    10


 in 中是一个集合
可以有null

select * from emp

where DEPTNO in (10, 20, null)

select * from emp

where DEPTNO not in (10, 20)

======>in集合中遇见null 
(in集合和空值可以在一起...)

======>in (集合中含有空值 )
查询结果不受影响

======>not in (集合中含有空值 )
查询结果受影响

9 like模糊查询

A   % 代表零个或多个字符(任意个字符)。

B   _ 代表一个字符。

C   查询名字S开头的员工信息

select* from emp  where ENAME like ‘S%‘’; 
---‘‘单引号中的字符串是区分大小写的....

SQL>/

EMPNO ENAME      JOB             
MGR HIREDATE              SAL      
COMM    DEPTNO

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

7369 SMITH      CLERK          
7902 17-12月-80           
800                    20

7788 SCOTT      ANALYST        
7566 19-4月 -87          
3000                    20

D  查询名字含有4个字母的员工

select * from emp where ENAME like ‘____‘;

EMPNO ENAME      JOB             
MGR HIREDATE              SAL      
COMM    DEPTNO

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

7521 WARD       SALESMAN       
7698 22-2月 -81          
1250        500         30

7839 KING       PRESIDENT           
17-11月-81          
5000                    10

7902 FORD       ANALYST        
7566 03-12月-81          
3000                    20

E   查询名字含有下划线的员工 (查询的内容含有转义字符)

insertinto emp(empno, ename, sal , DEPTNO) values(1, ‘tom_abc‘, 8000, 10)

select* from emp where ename like ‘%\_%‘ escape ‘\‘

EMPNO ENAME      JOB             
MGR HIREDATE              SAL      
COMM    DEPTNO

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

1 tom_abc                                             8000                   
10

10 
 order by 默认按照排序
从小到大(升序)

11
 order by后面可以跟:列名、表达式、别名、序号;

A 按照薪水,查询员工信息

select*from emp  order by sal

selectempno, ename, sal, sal*12 年薪 from emp 
order by 年薪;

EMPNO ENAME            
SAL       年薪

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

7369 SMITH            
800       9600

7900 JAMES   
         950      11400

7876 ADAMS           
1100      13200

7521 WARD            
1250      15000

7654 MARTIN          
1250      15000

7934 MILLER          
1300      15600

7844 TURNER          
1500      18000

7499 ALLEN           
1600      19200

7782 CLARK           
2450      29400

7698 BLAKE           
2850      34200

7566 JONES           
2975      35700

7902 FORD            
3000      36000

7788 SCOTT           
3000      36000

7839 KING            
5000      60000

1 tom_abc         
8000      96000

B  按照年薪,查询员工信息

2order by 遇上空值

1任何表达式和null运算都为空

2null != null  (is null )

3where子句中(in集合和空值在一起...)

4

按照奖金,查询员工信息

selectempno, ename, comm from emp  orderby 
3 desc  nulls last;

SQL>/

EMPNO ENAME            COMM

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

7654 MARTIN           1400

7521 WARD              500

7499 ALLEN             300

7844 TURNER             
0

7782 CLARK

7788 SCOTT

7839 KING

7876 ADAMS

7900 JAMES

7902 FORD

7698 BLAKE

7566 JONES

7934 MILLER

1 tom_abc

7369 SMITH

C
 order by 后面有多个列,

如果多个列中
有desc修饰,只作用于最近的那一列

按照部门排序

select* from emp  order by deptno desc, saldesc;

按照部门和工资排序

select* from emp  order by deptno desc, saldesc;

运行结果:

EMPNO ENAME      JOB             
MGR HIREDATE              SAL      
COMM    DEPTNO

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

7698 BLAKE      MANAGER        
7839 01-5月 -81          
2850                    30

7499 ALLEN      SALESMAN       
7698 20-2月 -81          
1600        300         30

7844 TURNER     SALESMAN       
7698 08-9月 -81          
1500          0         30

7521 WARD       SALESMAN       
7698 22-2月 -81          
1250        500         30

7654 MARTIN    
SALESMAN        7698 28-9月 -81          
1250       1400         30

7900 JAMES      CLERK          
7698 03-12月-81           
950                    30

7902 FORD       ANALYST        
7566 03-12月-81          
3000                    20

7788 SCOTT      ANALYST        
7566 19-4月 -87          
3000                    20

7566 JONES      MANAGER        
7839 02-4月 -81          
2975                    20

7876 ADAMS      CLERK          
7788 23-5月 -87          
1100                    20

7369 SMITH      CLERK          
7902 17-12月-80           
800                    20

1 tom_abc                                             8000                   
10

7839 KING       PRESIDENT           
17-11月-81          
5000                    10

7782 CLARK      MANAGER        
7839 09-6月 -81          
2450                    10

7934 MILLER     CLERK          
7782 23-1月 -82          
1300                    10

已选择15行。

时间: 2024-08-07 16:04:38

4.有关日期格式属性修改常识,v$nls_parameters,between and,查询指定部门的员工信息,in和null,like模糊查询,order by后面可以跟:列名、表达式、别名、序号的相关文章

4.有关日期格式属性改动常识,v$nls_parameters,between and,查询指定部门的员工信息,in和null,like模糊查询,order by后面能够跟:列名、表达式、别名、序号

?? 1 有关日期格式属性改动常识 NLS_DATE_FORMAT           DD-MON-RR select sysdate from dual; NLS_CURRENCY                ¥ 能够通过以下的方式查到上面的格式默认參数: 2 v$nls_parameters SQL>select * from v$nls_parameters; 结果略: 3改动默认參数 alter session set NLS_DATE_FORMAT='DD-MON-RR'; alt

Winpython Spyder template.py模板日期格式的修改

WinPython中自带的Spyder编辑器默认模板文件是template.py,其中显示日期的参数是"%(date)s",创建一个新py文件时,显示的日期格式是英文的,看起来很不习惯. 通过下面的方法可以把日期格式改成"年-月-日 时:分:秒"的形式,或者其它自己喜欢的格式. 1.用文本编辑器打开C:\WinPython-64bit-3.4.3.4\python-3.4.3.amd64\Lib\site-packages\spyderlib\plugins\edi

excel表格日期格式强制修改

症状: 收集上来的各部门填写的excel表格日期格式,有“2013/01/02”.“2013/1/3”.“2013-1-2”.“20130204”等格式,而MSSQL数据库格式要求“2013-01-01”这样格式.一般会这样操作:右键单元格-设置单元格格式-自定义-右侧输入yyyy-mm-dd并确定,这样的操作只是表面显示为“2013-01-02”这样的格式,但是单击此单元格,上方的编辑框里仍显示原格式.所以这种方式治标不治本. 解决: 表格空白列单击一个单元格,此列暂称临时列.输入=text(

合并邮件时日期格式的修改

Android系统之路(初识MTK) ------ 默认第一次开机屏幕亮度/日期格式/picture makeer model

今天给大家分享下关于修改MTK平台下系统首次开机的默认屏幕背光亮度,系统语言默认英语情况下修改日期格式,修改拍照属性,具体修改的地方不清楚或者没人告知的 话,请参照之前几篇博客的方法分享,现在直接进入主题 首先我们来修改第一次开机的屏幕亮度 ①修改首次开机的系统默认屏幕背光亮度,我是在该java下修改的------(把注释的地方都去掉,因为注释的地方都是修改了的) packages\apps\Settings\src\com.mediatek.settings\RestoreRotationRe

C# 将格式为20150528的数据转为日期格式

如果需要将格式为 “20150528”的数据转为日期格式2015-05-28,可以使用以下代码: string createdon_str = "20150528"; DateTime createdon_date = DateTime.ParseExact(createdon_str,"yyyyMMdd",null);

winform中ComboBox利用AutoComplete属性实现模糊查询(有缺陷)

上一篇文章是用ComboBox里面的原生事件实现模糊查询,操作比较灵活一些,但是收到评论说,利用AutoComplete属性就可以实现模糊查询,但是据本人所了解,AutoComplete虽然能够方便的实现模糊查询,但是有一定的缺陷,就是,模糊查询只能从左往右. 上一篇连接地址:http://www.cnblogs.com/xilipu31/p/3993049.html 下面是简单的实现方式: 前台:一个简单的form窗体+ComboBox控件 后台:申明List<string> listOni

EasyUI修改DateBox和DateTimeBox的默认日期格式

最近整理Easyui控件的时候,对Easyui的DateBox控件和DateTimeBox控件进行了梳理,而我之所以将EasyUI的DateBox控件和DateTimeBox控件放在一起,归为一类,是因为这两个控件没有什么区别,如果你非得说这两个控件有区别,也无非是DateTimeBox控件后面除了基本的年月日之外带上了小时或者分钟或者秒什么的,更何况,这两个控件在进行日期格式化时所采用的方法也是一样的. DateBox介绍: Demo实例参看: http://www.jeasyui.com/d

修改DateBox和DateTimeBox的默认日期格式——EasyUI

最近整理Easyui控件的时候,对Easyui的DateBox控件和DateTimeBox控件进行了梳理,而我之所以将EasyUI的DateBox控件和DateTimeBox控件放在一起,归为一类,是因为这两个控件没有什么区别,如果你非得说这两个控件有区别,也无非是DateTimeBox控件后面除了基本的年月日之外带上了小时或者分钟或者秒什么的,更何况,这两个控件在进行日期格式化时所采用的方法也是一样的. DateBox介绍: Demo实例参看: http://www.jeasyui.com/d