表一:
depton    daname              loc
10 accounting New York
20 research dallas
30 sales chicago
40 operations boston
NULL NULL NULL表二:
empno    ename    job       mgr         hiredate       sal      comm     deptno
7369 Smith clerk 7902 1890-7-26 0:00:00 1130 NULL 20 
7499 Allen salesman 7698 1894-7-12 0:00:00 1600 500 30
7521 Ward salesman 7698 1891-7-10 0:00:00 1250 500 30
7566 Jones manager 7839 1892-7-28 0:00:00 3005 NULL 20
7654 Martin salesman 7698 1894-7-11 0:00:00 1250 1400 30
7689 Blake manager 7839 1895-8-3 0:00:00 2850 NULL 30
7782 Clark manager 7839 1894-7-27 0:00:00 2450 NULL 10
7788 Scott Analyst 7566 1898-7-9 0:00:00 2460 NULL 20
7839 King President NULL 1894-7-24 0:00:00 5000 NULL 10
7844 Turner salesman 7698 1894-7-31 0:00:00 1500 0 30
7876 Adams clerk 7788 1894-7-6 0:00:00 1130 NULL 20
7900 James clerk 7698 1896-8-8 0:00:00 950 NULL 30
7902 Ford analyst 7566 1899-8-8 0:00:00 3030 NULL 20
7934 Miller clerk 7782 1894-7-7 0:00:00 1300 NULL 10要查询所有时间为1895-01-01以后加入的员工名称及日期怎么写这个语句呢?

解决方案 »

  1.   

    这样?表一干嘛用的呢?
    select ename ,hiredate 
    from 表二
    where convert(varchar(10),hiredate,120) >'1895-01-01'
      

  2.   

    --框架是这样的,其他的自己补充
    select * from 表二 where convert(varchar(10),hiredate,120)>'1895-01-01'
      

  3.   

    按照上面的方法怎么没有输出任何数据呢?
    select ename , hiredate from emp where convert(varchar (10),hiredate,120)>'1985-01-01';
      

  4.   

    SELECT *
    FROM dbo.tb_3gno
    WHERE (createtime > '1894-7-7')
      

  5.   

    (varchar (10),hiredate,120)
    这里为什么用要定义varchar的长度呢?hiredate后面的120是什么意思呢?
    我是初学~很多都不懂。。
      

  6.   

    你去查查convert这个函数就明白了。
      

  7.   

    SELECT *
    FROM dbo.tb_3gno
    WHERE (createtime > '1895-01-01')
      

  8.   

    不用那么复杂喇!直接SELECT就可以出来啊。
      

  9.   


    select * from 表二 where hirdate>'1895-01-01'
    --oracle写法
    select * from 表二 where hirdate>'01-01月-1895';你这个是oracle的数据库吧