我正在查询IBM DB2链接服务器以获取数据到我的MS Management Studion 2012,因为我对链接服务器上的表的访问权限有限,所以当我执行打开的查询时,我会使用预先编写的查询:
select TOP 100 *
from openquery(LinkedServer,
'
select
someTable.Date AS BIRTHDATE,
...
在管理工作室的Result Window
我得到了
BIRTHDATE
1969-08-31
这正是我想要展示它的用法。但是,我使用ADO.NET
while (reader.Read())
{
for (int k = 0; k < columns.Count; k++)
{
resultRow.Add(reader[k]);
}
}
reader.Close();
由于某些原因而不是格式正确1969-08-31
我得到1969-08-31T00:00:00
。
我尝试添加此代码:
CONVERT(VARCHAR(26), someTable.Date, 23) AS BIRTHDAY
但我收到了错误 - SQL0204 - CONVERT in *LIBL type *N not found.
。因为我第一次在SQL SERVER
服务器上使用DB2
函数时遇到问题,我想也许我就是不能使用这个函数。然而在Ms Management Studio
我得到了正确的格式,因为我想保持一些动态的东西,我不想在以后用ADO.NET
获取recrods时使用格式,所以我想知道是否有任何方法保留此格式并阻止ADO.NET
添加此T00:00:00
答案 0 :(得分:1)
请使用convert(varchar(10),someTable.Date,120)函数,如:
convert(varchar(10),someTable.Date,120)
另请参阅:click here