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‘;

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

错误案例:

1 select *

2      from emp

3*     where sal between 1000 and200

SQL> /

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

select * from emp

whereDEPTNO in (10, 20)

7 查询不是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

8  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, sal desc;

依照部门和工资排序

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-10-24 06:18:09

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'

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

SQLserver中用convert函数转换日期格式

SQLserver中用convert函数转换日期格式2008-01-15 15:51SQLserver中用convert函数转换日期格式 SQL Server中文版的默认的日期字段datetime格式是yyyy-mm-dd Thh:mm:ss.mmm 例如: select getdate() 2004-09-12 11:06:08.177 整理了一下SQL Server里面可能经常会用到的日期格式转换方法: 举例如下: select CONVERT(varchar, getdate(), 120

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

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

SpringMVC初始化参数绑定--日期格式

一.初始化参数绑定[一种日期格式] 配置步骤: ①:在applicationcontext.xml中只需要配置一个包扫描器即可 <!-- 包扫描器 --> <context:component-scan base-package="cn.happy.controller"></context:component-scan> ②:在处理器类中配置绑定方法  使用@InitBinder注解 在这里首先注册一个用户编辑器 参数一为目标类型   proper

SpringMVC与MyBatis整合之日期格式转换

在上一篇博客<SpringMVC与MyBatis整合(一)——查询人员列表>中遗留了日期格式转换的问题,在这篇记录解决过程. 对于controller形参中pojo对象,如果属性中有日期类型,需要自定义参数绑定.         将请求日期数据串传成 日期类型,要转换的日期类型和pojo中日期属性的类型保持一致. 在上一篇的示例程序中,Person类属性如下: 而测试结果如下: 所以自定义参数绑定将日期串转成java.util.Date类型.需要向处理器适配器中注入自定义的参数绑定组件. 添加

方法:C#格式化数据 日期格式设置示例 Format使用 DataFormatString使用

DataFormatString="{0:格式字符串}" 在DataFormatString 中的 {0} 表示数据本身,而在冒号后面的格式字符串代表所们希望数据显示的格式: 数字.货币格式:在指定的格式符号后可以指定小数所要显示的位数.例如原来的数据为「1.56」,若格式设定为 {0:N1},则输出为「1.5」.其常用的数值格式如下表所示: 格式字符串 输入 结果"{0:C}" 12345.6789 $12,345.68"{0:C}" -123

C#时间日期格式大全

C#时间/日期格式大全,C#时间/日期函数大全 有时候我们要对时间进行转换,达到不同的显示效果 默认格式为:2016-7-1 14:33:34 如果要换成成201607,07-2016,2016-7-1或更多的该怎么办呢? 我们要用到: DateTime.ToString的方法(String, IFormatProvider) using System; using System.Globalization; String format="D"; DateTime date=DataT