sql 中有表1,进厂时间,离职时间,合同时间,都是用varchar 字符 输入也是edit.text 的,如2010.01.01. tressview中有  本月统计时' 统计工龄 合同到期 ,form1中有dbgrideh1 
1.要完成这样的功能,当击treeview中‘本月统计时'里, 就能从 表1 中取出数据,
表1中n6字段是vachar类型的,如2010.09.01
要求判断当列 n6中第六到第七个字符=当月09月时,就出来。2.统计工龄:在厂有几年
3.合同到期一个月提醒
不知这样的代码怎么写

解决方案 »

  1.   

    1.SELECT RIGHT(CONVERT(nvarchar(7),A),2) as T from TEST_TB
      

  2.   

    2.select top 3 jcrq as 進廠日期,GETDATE() as 今天日期,DATEPART(YEAR,jcrq) as 進廠年份,DATEPART(YEAR,GETDATE()) as 今年年份,
     DATEPART(YEAR,GETDATE())-DATEPART(YEAR,jcrq) as 工齡
     from res_user_temp /*
    進廠日期                    今天日期                    進廠年份        今年年份        工齡
    ----------------------- ----------------------- ----------- ----------- -----------
    2008-08-04 00:00:00.000 2010-09-09 15:20:58.770 2008        2010        2
    2010-04-13 00:00:00.000 2010-09-09 15:20:58.770 2010        2010        0
    2007-09-10 00:00:00.000 2010-09-09 15:20:58.770 2007        2010        3(3 個資料列受到影響)*/
      

  3.   

    合同到期这个不会写,好像要判断 年 月 日的,sql 里能写if 吗
      

  4.   


    请教
    SELECT count(name) as '1月'from emp where RIGHT(CONVERT(nvarchar(7),date_in),2)='01' and RIGHT(CONVERT(nvarchar(4),date_in),2)='10'这样能统计 1月进厂人如,如何做到统计2,3,4...月的人数。生成一表
      

  5.   

    SQL中可以用IF語句...
    簽合同時,有一個期限(也就是合同到期的日期,如:簽1年,那麼簽核生效的日期之後的一年(也就是(簽核年份+1年(第二年)就是合同到期日期,用SQL語句處理這個日期是否到期一個月,判斷處理天數即可)...
      

  6.   

    如果說統計的月份較多,不要使用這種方法;如果當年,那麼直接將月份>1,SQL中處理一下
      

  7.   

    这样的sql 代码不会写啊,能否举个例,谢谢
      

  8.   

    打好SQL的基礎啊
    把測試數據貼出來或發到我郵箱吧...