[ C# + SQL SERVER2000 ]C#代码中从SQL SERVER2000中读出某列DATETIME类型的数据,在DEBUG的IMMEDIATE WINDOW中输入dsData.Tables["AA"].Rows[0]["CreateOn"]后回车,可以看到如下数据:
{2008-6-23 16:07:37}
    Date: {2008-6-23 0:00:00}
    Day: 23
    DayOfWeek: Monday
    DayOfYear: 175
    Hour: 16
    Kind: Unspecified
    Millisecond: 233
    Minute: 7
    Month: 6
    Second: 37
    Ticks: 633498340572330000
    TimeOfDay: {16:07:37.2330000}             《========注意这里有.2300000
    Year: 2008但在代码中如果获得这此毫秒数据?1. dsData.Tables["AA"].Rows[0]["CreateOn"].ToString()
    得到 "2008-6-23 16:07:37"2. dsData.Tables["AA"].Rows[0]["CreateOn"].ToString("yyyy-MM-dd HH:mm:ss.fffffff")
    得到 "2008-06-23 16:07:37.0000000"请教各位高手,目的是要从数据库中读取出毫秒级数据,如 "2008-06-23 16:07:37.2330000"  !!!

解决方案 »

  1.   

    SQL精确到百分之三秒
    0.000-0.001、0.009调整为0.000
    0.002-0.004调整为0.003
    0.005-0.008调整为0.007
    所以再高的精确度也是没用的。
      

  2.   

    如果建议在 select 语句中 CONVERT(VARCHAR(30),CreateOn,20) AS CreateOn 的话,就不用劳烦您了。
      

  3.   

    DateTime dt = new DateTime(2008, 1, 1, 1, 1, 1, 230);
    string s = dt.ToString("yyyy/MM/dd HH:mm:ss.fff");
      

  4.   

    CONVERT(VARCHAR(30),CreateOn,21) AS CreateOn
      

  5.   


    DateTime dt = new DateTime(2008, 1, 1, 1, 1, 1, 230); 《====这此东西从哪来?不知所谓
      

  6.   

    http://msdn.microsoft.com/zh-cn/library/bb882581.aspx
      

  7.   

    就两句话:1、如何从数据库的DATETIME字段中读出毫秒值?CONVERT(VARCHAR(30),CreateOn,21) AS CreateOn 这种做法免谈。
    2、DataTable中的DateTime类型的列已经存有毫秒数值,如何获取这个毫秒数值?
      

  8.   

    一点变通的能力都没
    已经告诉你了怎么通过Datetime取出来毫秒
    难道你就不知道把自己数据库的字段Convert一下??
    DateTime dt = Convert.ToDateTime(dsData.Tables["AA"].Rows[0]["CreateOn"]);
    string s = dt.ToString("yyyy/mm/dd HH:mm:ss.fffffff");