用case when吧 Time=case when Time ='' then '1973-01-01' when Time <>'' then Time end
是Null.不是''...关键是不同的机器有不同的结果...我觉得应该是系统设置里的问题吧.
0001-01-01 08:00:00?是 0001-01-01 00:00:00 吧...8点怎么出来的?这是 DateTime.MinValue 不是 null...值类型不可为 null...只有可为空泛型类型才可以赋空值...注意 2.0 以上才支持...如...Nullable<DateTime> d = null;orDateTime? d = null;
楼上的意思我明白... 在程序里,对应的内容是DataTime?可问题不在这里,WebService程序,从数据库里直接得到了个DataSet. 然后再传到客户端...这个期间,没有做任何操作. 当我从客户端读取DataSet里的字段的时候用了 DataSet.Select("Time IS NOT NULL")的过滤,结果呢,是所有行全出来了...相应的字段用.ToString()一显示,均为"0001-01-01 08:00:00"了...可同样的程序,在部门里,就可以用DataSet.Select("Time IS NOT NULL")进行过滤
Time=case when Time ='' then '1973-01-01' when Time <>'' then Time end
在程序里,对应的内容是DataTime?可问题不在这里,WebService程序,从数据库里直接得到了个DataSet.
然后再传到客户端...这个期间,没有做任何操作.
当我从客户端读取DataSet里的字段的时候用了
DataSet.Select("Time IS NOT NULL")的过滤,结果呢,是所有行全出来了...相应的字段用.ToString()一显示,均为"0001-01-01 08:00:00"了...可同样的程序,在部门里,就可以用DataSet.Select("Time IS NOT NULL")进行过滤
如果说,C#就这个特点.咱也没办法,认了就是了.关键是同样的程序,同样的系统,在不同的机器上运行出来了不同的结果.我们公司做的还是急救系统...弄不好是要出人命的.