0

我有一个ReceivedOn类型为列的表DateTime。我正在执行一个带有 select 语句的存储过程,如下所示:

Select 
    CONVERT(DateTime,ReceivedOn)[Date/Time], MessageText[Event] 
From 
    RawFeed 
Where 
    ATM = (Select Code From ATM Where ATM = @ATMID) 
    AND ReceivedOn Between @From And @To 
Order By 
    ReceivedOn Desc 

我将存储过程结果存储在 DataTable 对象中。.aspx并在我的页面上显示这个对象

dtReturn = sspObj.ExecuteDataTable();
return dtReturn ;

DataTable对象正在使用某些函数将结果转换为 HTML 表,将结果存储在表对象中并将其添加到页面

tOutput = Generix.convertDataTable2HTMLTable(dtOutput, true, true, false);
Page.Controls.Add(tOutput);

但不是将值显示为

2012-10-05 16:40:35.234

我得到这样的输出:

2012-10-05 04:40:35 PM
4

3 回答 3

2

不要转换它,保持原样。

Select ReceivedOn, ...
于 2012-10-05T11:59:26.967 回答
2

这不是 SQL 问题。SQL 正在返回一个日期时间,该日期时间由 C# 格式化为您所看到的输出。如果您希望 SQL 服务器以您的格式返回代表日期的 varchar(字符串),请尝试:

SELECT CONVERT(varchar(24), ReceivedOn, 121)

有关更多详细信息,请参阅投射和转换

于 2012-10-05T12:10:10.060 回答
0
select 
CONVERT(varchar,CONVERT(Date,ReceivedOn,101))  + ' ' + 
convert(varchar,CONVERT(TIME,ReceivedOn)) AS ReceivedDate,
CONVERT(DateTime,ReceivedOn)[Date/Time], MessageText[Event] 
From 
RawFeed 
Where 
ATM = (Select Code From ATM Where ATM = @ATMID) 
AND ReceivedOn Between @From And @To 
Order By 
ReceivedOn Desc 

试试这个可能会对你有所帮助....

于 2012-10-05T12:39:48.333 回答