我的表里有个字段 叫 “TXX" 是用来装系统时间的,比如我的TXX字段里面有很多时间,2009-9-10,2009-9-18,2009-5-2,2009-10-30,我用了这个语句排序
SELECT* FROM XXXX ORDER BY TXX DESC
排出来的结果
2009-9-18
2009-9-10
2009-5-2
2009-10-30
问题就是我明明是2009-10-30应该在最前面。怎么变成最后面了难道SQL不按时间来拍按数字的吗。怎么办。。有没有正确的方法
SELECT* FROM XXXX ORDER BY TXX DESC
排出来的结果
2009-9-18
2009-9-10
2009-5-2
2009-10-30
问题就是我明明是2009-10-30应该在最前面。怎么变成最后面了难道SQL不按时间来拍按数字的吗。怎么办。。有没有正确的方法
解决方案 »
- ext.net 如何获取前台 gridpanel选中行的某一单元格的值
- dropdownlist控件更改值以后无法插入数据库
- |M| 网页画套打里面如何正确的记算出一段字符画在图片上的长度
- 有没办法在服务端让dropdownlist不选择
- help me: window.location转向的问题?
- 求asp.net 在C#编程的书~
- 请指点一下用dephi 7开发web应用,如何?
- Freetextbox部署到服务器后无法上传图片
- XML可以取代HTML吗?
- PostedFile.SaveAs(string filename),可以保存为相对路径吗?如果不行由别的方法吗?,50分,在线等
- asp.net 分层架构
- 文件“F:\jiayiDemo\FrameWork.web\SiteXml\SiteInfo.xml”正由另一进程使用,因此该进程无法访问该文件。
SELECT * FROM XXXX ORDER BY convert(datetime,TXX) DESC
试试看
varchar类型的排序是根据从左到右字符大小排的
就可以把时间字段查出来的结果,只显示日期,不显示后面的时间
sql convert(varchar(10),字段,120)
前台页面绑定可以
<%# DataBinder.Eval(Container.DataItem,字段名."{0:yyyy-MM-dd}")%>
可以
Convert.DataTime(获取的时间).ToString("yyyy-MM-dd");
public DataTable Gettop(string trLevel)//
{
try
{
return this.ExecuteDataSet("SELECT TOP 4 * FROM ClientUpLoad WHERE UpArea = '"+trLevel+"' ORDER BY UserUpDate DESC","ClientUpLoad").Tables[0];
}
catch
{
return null;
}
}
#endregion
*号换成 你的字段名称
SELECT TOP 4 字段1,字段2,字段3,convert(Varchar(10),UserUpDate ,120) as UserUpDate FROM ClientUpLoad WHERE UpArea = '"+trLevel+"' ORDER BY UserUpDate DESC