select ADateTime from table1其中ADateTime是包含时间的一个日期类型字段,要求将该语句中的ADateTime改写成显示为yyyy-mm-dd格式,并且不能含有,号数据库为Access

解决方案 »

  1.   

    我知道format函数可以显示为这个格式,但是使用的格式为format('yyyy-mm-dd',ADatetime),里面含有一个,号,所以这个函数是不符合要求的
      

  2.   

    你把类型设置了,读出来应该就是yyyy-mm-dd格式啊。。或者读出来之后,用formatdatatime格式化
      

  3.   

    我要求使用access的SQL语句来实现读出来之后再处理就不符合我的要求了
      

  4.   

    我要求的是用一个语句来替换ADateTime,使之能显示为yyyy-mm-dd格式,并且这个语句不能含有,号
      

  5.   

    SELECT IIF(Year(ADateTime) > 1900, CStr(Year(ADateTime)), CStr(Year(ADateTime) + 2000)) + '-' +
      IIF(Month(ADateTime) > 10, CStr(Month(ADateTime)), '0' + CStr(Month(ADateTime))) + '-' + 
      IIF(Day(ADateTime) > 10, CStr(Day(ADateTime)), '0' + CStr(Day(ADateTime))) + ' ' +
      IIF(Hour(ADateTime) > 10, CStr(Hour(ADateTime)), '0' + CStr(Hour(ADateTime))) + ':' +  
      IIF(Minute(ADateTime) > 10, CStr(Minute(ADateTime)), '0' + CStr(Minute(ADateTime))) + ':' +
      IIF(Second(ADateTime) > 10, CStr(Second(ADateTime)), '0' + CStr(Second(ADateTime)))as aaFROM T1;
      

  6.   

    to Rubi(专注DELPHI7,C#,Sql 2K)
    是日期类型的字段to postren(小虫)
    我要求的是不能出现,号,你那个出现了N次了
      

  7.   

    SELECT
     CAST(YEAR(ADateTime) AS VARCHAR(4))+'-'+
     CAST(Month(ADateTime) AS VARCHAR(2))+'-'+
     CAST(Day(ADateTime)AS VARCHAR(2))
    Table1
      

  8.   

    to cncharles(旺仔)
    access好像不支持cast这个函数的吧
      

  9.   

    嘿嘿,不知道搂主想做什么给你个Access中支持的,但包含一个逗号
    SELECT Format(ADateTime, 'yyyy-mm-dd hh:nn:ss') AS ADateTime
    FROM T1;
      

  10.   

    我在一楼就已经说明了虽然format可以显示这个格式,但因为含有一个,号不能采用
    而且你那个format里的参数也写反了
      

  11.   

    靠, 貌似少了个FROM.在ACCESS表的字段中把格式设为YYYY-MM-DD不行吗?
      

  12.   

    如果语句实现不了,也可以用数据库组件的字段属性EditMask来实现.
      

  13.   

    SELECT STR(Year(ADateTime))+'-'+STR(Month(ADateTime))+'-'+STR(Day(ADateTime)) AS ADate
    FROM Table1
      

  14.   

    to cncharles(旺仔)
    这个语句产生的不一定是我要求的那个格式,而且假如ADateTime为null的话会报错
      

  15.   

    我在一楼就已经说明了虽然format可以显示这个格式,但因为含有一个,号不能采用
    而且你那个format里的参数也写反了
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    怎么会写反了呢?Access中测试过的,嘿嘿
      

  16.   

    靠, 那你自己在ACCESS中用VBA写一个函数不就是得了.
      

  17.   

    我要求的是SQL语句,不能是VBA
      

  18.   

    to postren(小虫)
    要是能含有一个逗号的话,我早就用format函数解决了,也用不着上来问。我用的是别人的一个接口,里面的参数是一个字段串类型,其中逗号是对这个接口来说是特殊字符,逗号两边调用的时候会被切割开来的。另外数据库结构也是不能改的,是人家的数据库,所以不能改字段格式。
      

  19.   

    看他接口如何处理的,
    把你的sql语句用引号引起来,如果他还是分割处理的话,基本无望
      

  20.   

    ADateTime不是一个table的字段么,字段名还可以更改?
      

  21.   

    奇怪,奇怪!
    我做实验,怎么没有逗号呢?rq格式是"常规日期",2005-09-12 10:10:10
      with DM1.QryBMan do
      begin
        Try
          Close;
          SQL.Clear ;
          SQL.Add('SELECT Format(rq,"yyyy-mm-dd") AS rq FROM CardDetil');
          Open ;
        Except
          Close;
        End;
      end;
      

  22.   

    To:myanwei() 
    楼主的意思是表达式里面都不能有,,你的那个查询语句里面就有,我晕阿 
     
     
     lzf1010(深宇)  
    to cncharles(旺仔)
    这个语句产生的不一定是我要求的那个格式,而且假如ADateTime为null的话会报错
    我晕,如果为空,那你怎么显示时间,你设置where time is not null  
     
      

  23.   

    用CONVERT函数阿,第三个参数不是可以设置格式的
    Without century (yy) With century (yyyy) 
    Standard  
    Input/Output**  
    - 0 or 100 (*)  Default mon dd yyyy hh:miAM (or PM) 
    1 101 USA mm/dd/yy 
    2 102 ANSI yy.mm.dd 
    3 103 British/French dd/mm/yy 
    4 104 German dd.mm.yy 
    5 105 Italian dd-mm-yy 
    6 106 - dd mon yy 
    7 107 - Mon dd, yy 
    8 108 - hh:mm:ss 
    - 9 or 109 (*)  Default + milliseconds mon dd yyyy hh:mi:ss:mmmAM (or PM) 
    10 110 USA mm-dd-yy 
    11 111 JAPAN yy/mm/dd 
    12 112 ISO yymmdd 
    - 13 or 113 (*)  Europe default + milliseconds dd mon yyyy hh:mm:ss:mmm(24h) 
    14 114 - hh:mi:ss:mmm(24h) 
    - 20 or 120 (*)  ODBC canonical yyyy-mm-dd hh:mi:ss(24h) 
    - 21 or 121 (*)  ODBC canonical (with milliseconds) yyyy-mm-dd hh:mi:ss.mmm(24h) 
    - 126(***) ISO8601 yyyy-mm-dd Thh:mm:ss:mmm(no spaces) 
    - 130* Kuwaiti dd mon yyyy hh:mi:ss:mmmAM 
    - 131* Kuwaiti dd/mm/yy hh:mi:ss:mmmAM