C# 当我在C中获取数据时,从OPENQUERY返回的日期转换为DATETIME

C# 当我在C中获取数据时,从OPENQUERY返回的日期转换为DATETIME,c#,sql-server,C#,Sql Server,我正在查询IBM DB2 Linked server以将数据提取到我的MS Management Studion 2012,因为我对链接服务器上的表的访问权限有限,所以我使用预制查询,因此在执行我的open query时: select TOP 100 * from openquery(LinkedServer, ' select someTable.Date AS BIRTHDATE, ... 在ManagementStudio的结果窗口中,我得

我正在查询IBM DB2 Linked server以将数据提取到我的MS Management Studion 2012,因为我对链接服务器上的表的访问权限有限,所以我使用预制查询,因此在执行我的open query时:

  select TOP 100 *
    from openquery(LinkedServer,
    '
    select 
    someTable.Date AS BIRTHDATE,
    ...
在ManagementStudio的结果窗口中,我得到

BIRTHDATE
1969-08-31
这正是我想展示给用户的方式。但是,我使用ADO.NET获取数据:


但我在*LIBL type*N中得到错误-SQL0204-CONVERT未找到。。因为这是我第一次在DB2服务器上使用SQL SERVER函数时遇到问题,所以我想我可能就是不能使用这个函数。然而,在Ms Management Studio中,我得到了正确的格式,并且由于我想保持某种动态性,我不想在以后使用ADO.NET获取重新记录时应用该格式,因此我想知道是否有任何方法可以保持此格式,并防止ADO.NET添加此T00:00:00

请使用convertvarchar10,someTable.Date,120功能如下:

convert(varchar(10),someTable.Date,120)

也请参考:

它可能会使用openqueryLinkedServer中的select TOP 100…,CONVERTVARCHAR26,BIRTHDAY,23作为BIRTHDAY,即使用SQL Server端的函数。尽管如此,如果您返回System.DateTime,您应该知道日期和时间没有继承字符串表示形式。调用ToString并指定您想要的格式。是的,它可以工作,但我必须移出所有我想要的列,这不是我最终想要的。感谢您的回答,不过请记住,这里不允许链接到W3SHCOOL。MSDN在他们的网站上有这个,也许把链接改为指向那里。它不起作用,但是+1的努力和格式良好的答案!
CONVERT(VARCHAR(26), someTable.Date, 23) AS BIRTHDAY
convert(varchar(10),someTable.Date,120)