INSTORAGE表里有这样一个字段cd,格式是固定的,一个前缀,中间是日期,最后是编号,我想取出日期最大的里面,编号最大的一条数据,请大家帮忙 cdINSTORAGE_20070316_5
INSTORAGE_20070316_10
INSTORAGE_20070316_21
INSTORAGE_20070317_1
INSTORAGE_20070317_15
INSTORAGE_20070318_1
INSTORAGE_20070318_5
INSTORAGE_20070318_11
INSTORAGE_20070318_18
在以上例子中,要取出的就是INSTORAGE_20070318_18
INSTORAGE_20070316_10
INSTORAGE_20070316_21
INSTORAGE_20070317_1
INSTORAGE_20070317_15
INSTORAGE_20070318_1
INSTORAGE_20070318_5
INSTORAGE_20070318_11
INSTORAGE_20070318_18
在以上例子中,要取出的就是INSTORAGE_20070318_18
解决方案 »
- 在UserControl Load事件之后执行什么事件?
- 求socket通讯发送接收文件C#事例,高人帮帮忙。。
- 关于压缩、解压缩问题
- 数据库连接调试与非调试出现的错误,什么原因?
- 聊天程序
- VS.NET 2003中,水晶报表能否实现直接打印?
- 用C#控制mediaencoder推送的定时启动停止。
- 使用串口控件SerialPort,由于轮询不同设备间隔较短,导致在接收事件还未处理完本次时又有新事件发生
- 爽!!! dotnet1.2 支持 Generics
- 为什么我写的WEB FORM显示不出来呢?
- 如何读取文件名含有参数的文件阿
- 请教,以一个登陆窗体进入系统.而后将登陆窗体隐藏,请问程序结束的时候,怎样将登陆窗体关闭啊?
select 'INSTORAGE_20070316_5' union
select 'INSTORAGE_20070316_10' union
select 'INSTORAGE_20070316_21' union
select 'INSTORAGE_20070317_1' union
select 'INSTORAGE_20070317_15' union
select 'INSTORAGE_20070318_1' union
select 'INSTORAGE_20070318_5' union
select 'INSTORAGE_20070318_11' union
select 'INSTORAGE_20070318_18'
select col from
(
select col,cast(substring(col,11,8) as datetime) as v1,cast(substring(col,20,3) as int) v2 from #tmp
) a order by v1 desc,v2 desc
INSTORAGE_20070318_18
INSTORAGE_20070318_11
INSTORAGE_20070318_5
INSTORAGE_20070318_1
INSTORAGE_20070317_15
INSTORAGE_20070317_1
INSTORAGE_20070316_21
INSTORAGE_20070316_10
INSTORAGE_20070316_5
From dbo.Instorage inner join
(Select id,Substring(cd,0,19)as cd_Head From dbo.Instorage) Head on dbo.Instorage.id=Head.id
inner join(Select id,Substring(cd,20,Len(cd)-19) cd_Num From dbo.Instorage) Num on dbo.Instorage.id=Num.id
Where Head.cd_Head=(Select max(Substring(cd,0,19))as cd_Head From dbo.Instorage)
and Num.cd_Num=(
Select max(Cast(Num.cd_Num as int))
From dbo.Instorage inner join
(Select id,Substring(cd,0,19)as cd_Head From dbo.Instorage) Head on dbo.Instorage.id=Head.id
inner join(Select id,Substring(cd,20,Len(cd)-19) cd_Num From dbo.Instorage) Num on dbo.Instorage.id=Num.id
Where Head.cd_Head=(Select max(Substring(cd,0,19))as cd_Head From dbo.Instorage)
)
------------------------
select top 1 * from 表名
where left(cd,18)=(select max(left(cd,18)) from 表名)
order by cast(stuff(cd,1,19,'') as int) desc
---------------------------------------------------------------
select top 1 * from @t
order by left(cd,18) desc,cast(stuff(cd,1,19,'') as int) desc