转换一下就行了
convert(varchar(10),字段名,120)

解决方案 »

  1.   

    使用你的方法得到D:\EAMII_Dev\EAM_Sys\EAM\BizEntityLayer\AssetEntities_EAM\Asset\EAM_Impl\AssetAllInfHome.cs(659): 名称“convert”在类或命名空间“Com.hnas.eam.BizEntityLayer.AssetEntities.Asset.EAM_Impl.AssetAllInfHome”中不存在D:\EAMII_Dev\EAM_Sys\EAM\BizEntityLayer\AssetEntities_EAM\Asset\EAM_Impl\AssetAllInfHome.cs(659): 名称“varchar”在类或命名空间“Com.hnas.eam.BizEntityLayer.AssetEntities.Asset.EAM_Impl.AssetAllInfHome”中不存在
      

  2.   

    DateTime dt = DateTime.Parse(DateTime.Now.ToString());
     Response.Write( dt.ToString("yyyy-MM-dd"));
      

  3.   

    还是不行。请高手继续指教: 
    assetAllInfVO.STARTUP_DATE 此乃原值,为datatime类型,用去查询数据库中字段值为STARTUP_DATE的值. 但在拼凑的sql语句中老是会在原值上添加hh:mm:ss格式,如下:
    2005-8-5 0:00:00'
     请问如何将一个datatime查询数据库表中的datatime类型的字段
      

  4.   

    if(assetAllInfVO.STARTUP_DATE.ToString()!="")//启用日期
    {

    strSql+=" and a.T_ASSET_ENTRY_VO_ID in (select T_ASSET_ENTRY_VO_ID from T_ASSET_BASE_INF_VO "
    +" where STARTUP_DATE=to_data("+assetAllInfVO.STARTUP_DATE+") )";  
    }
      

  5.   

    数据库中的datatime是yyyy-mm-dd模式
    我该怎么查询?它老是自动添加上hh:mm:ss
    高手帮助呀
      

  6.   

    if(assetAllInfVO.STARTUP_DATE.ToString()!="")//启用日期
    {

    strSql+=" and a.T_ASSET_ENTRY_VO_ID in (select T_ASSET_ENTRY_VO_ID from T_ASSET_BASE_INF_VO "
    +" where datediff(d,STARTUP_DATE,to_data,"+assetAllInfVO.STARTUP_DATE+")=0 )";  
    }
      

  7.   

    if(assetAllInfVO.STARTUP_DATE.ToString()!="")//启用日期
    {

    strSql+=" and a.T_ASSET_ENTRY_VO_ID in (select T_ASSET_ENTRY_VO_ID from T_ASSET_BASE_INF_VO "
    +" where datediff(d,STARTUP_DATE,convert(varchar(10),"+assetAllInfVO.STARTUP_DATE+",120))=0 )";  
    }
      

  8.   

    谢谢haonanernet(与时俱进) 这位大哥,但运行结果却是 “缺少表达式”
      

  9.   

    为什么这样一个问题困扰了我一天呢?请帮帮忙:关键代码如下:
    if(assetAllInfVO.STARTUP_DATE.ToString()!="")//启用日期
    {

    strSql+=" and a.T_ASSET_ENTRY_VO_ID in (select T_ASSET_ENTRY_VO_ID from T_ASSET_BASE_INF_VO "
    +" where STARTUP_DATE=assetAllInfVO.STARTUP_DATE )";  
    }其中assetAllInfVO.STARTUP_DATE为从data控件取出来的值,值类型为datatime.而STARTUP_DATE为数据库中的字段,数据类型为datatime,格式为yyyy-mm-dd
      但是在执行了拼凑的sql语句后,assetAllInfVO.STARTUP_DATE 的值会额外加上形如hh:mm:ss格式的时间。为了从控件中读取的日期查出数据库中的日期,我该如何做?我该如何做查询呢?跪求高手赐教!小弟感激不尽!!!
      

  10.   

    if(assetAllInfVO.STARTUP_DATE.ToString()!="")//启用日期
    {

    strSql+=" and a.T_ASSET_ENTRY_VO_ID in (select T_ASSET_ENTRY_VO_ID from T_ASSET_BASE_INF_VO "
    +" where STARTUP_DATE='"+assetAllInfVO.STARTUP_DATE"'+ )";  
    }try again;
      

  11.   

    assetAllInfVO.STARTUP_DATE.date 不就是取日期了么!
      

  12.   

    是不是有类库没有引用啊?
    haonanernet(与时俱进) 写的对的
      

  13.   

    datediff需要引用什么类库呢?
      

  14.   

    郁闷至极!! LZ乃神人也! 估计学ASP。NET不到一天吧?
    sql中比较时间可用datediff也可用datepart有时convert也能实现
    建议(查询当天记录):select * from tablename where datediff(d,time,getdate())=0
      

  15.   

    我才郁闷,今天试了一天了。还弄不出,真的很奇妙的。我用asp少说也有几个月了吧。
      

  16.   

    一楼的convert(varchar(10),字段名,120) 是数据库里的语法,你用在C#里当然不对拉
    用Substing()这个函数才对吧
      

  17.   

    datediff不是oracle的函数吗?怎么被提示说是无效的列名呢?
      

  18.   

    if(assetAllInfVO.STARTUP_DATE.ToString()!="")//启用日期
    {strSql+=" and a.T_ASSET_ENTRY_VO_ID in (select T_ASSET_ENTRY_VO_ID from T_ASSET_BASE_INF_VO "
    +" where STARTUP_DATE=assetAllInfVO.STARTUP_DATE )";  
    }
    改成这样好了。
    if(assetAllInfVO.STARTUP_DATE.ToString()!="")//启用日期
    {strSql+=" and a.T_ASSET_ENTRY_VO_ID in (select T_ASSET_ENTRY_VO_ID from T_ASSET_BASE_INF_VO "
    +" where STARTUP_DATE like '"+assetAllInfVO.STARTUP_DATE+ "%'";  
    }
    用模糊查询。
      

  19.   

    如此这般如何
    if(assetAllInfVO.STARTUP_DATE.ToString()!="")//启用日期
    {strSql+=" and a.T_ASSET_ENTRY_VO_ID in (select T_ASSET_ENTRY_VO_ID from T_ASSET_BASE_INF_VO "
    +" where datediff(dd,convert(varchar(10),STARTUP_DATE,120),convert(varchar(10),"+assetAllInfVO.STARTUP_DATE.ToString()+",120))=0";
    }