下面这个语句怎么写啊,要如果按条件排序 先在程序里处理一下那个LastPost,你那个字段应该是以$分割的吧,用字符串函数取得2005-11-29 16:20:08,再执行SQL 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 declare @t varchar(800)set @t='psn$169$2005-11-29 16:20:08$sfasdf/test[align=...$$3$136$25'set @t=substring(@t,9,19)select @t 楼上的兄弟,psn$169$这个长度不是固定的,所以你这样是错的,应该要先找到第二$的位置就可以了,有没有哪位大虾知道怎么写啊!好急啊! order by cast(substring(@str,charindex('-',@str,1)-4,19) as datetime) desc order by cast(subString(@t,charindex('-',@t)-4,charindex('-',@t)+6) as datetime) desc 终于写出来了,可是大家看看这个语句为什么在sql sever中可以执行,可是在access中却不可以呢.SELECT TOP 10 *FROM Dv_TopicWHERE (BoardID IN (44))ORDER BY CAST(SUBSTRING(STUFF(STUFF(LastPost, 1, CHARINDEX('$', LastPost), ''), 1, CHARINDEX('$', STUFF(LastPost, 1, CHARINDEX('$', LastPost), '')), ''), 1, CHARINDEX('$', STUFF(STUFF(LastPost, 1, CHARINDEX('$', LastPost), ''), 1, CHARINDEX('$', STUFF(LastPost, 1, CHARINDEX('$', LastPost), '')), '')) - 1) AS datetime) DESC declare @sql varchar(2000)set @sql='psn$169$2005-11-29 16:20:08$sfasdf/test[align=...$$3$136$25'select substring(@sql,charindex('$',@sql,charindex('$',@sql)+1)+1,charindex('$',@sql,charindex('$',@sql,charindex('$',@sql)+1)+1)-charindex('$',@sql,charindex('$',@sql)+1)-1)---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 2005-11-29 16:20:08(所影响的行数为 1 行) 试是可以的,但是再access为什么不可以啊,在sql server中都是可以的。 为什么在access中会不能执行,提示substring函数为定义。 access 里本身就没有 substring 这个函数 在Access中是没有substring函数的。不知你是否了解VBScript,如果了解就好办了。在Access中对字符串的操作类似VBScript的用法,比如有InStr(),Left(),Right(),Mid()等函数.所以你把相应的函数替换一下,应该就可以了。 求助,关于3表联合查询 自学数据库,望高手们指点一些基研问题 一张表,如何求成功率? SQL:怎么根据企业代码查询出所有的自己和下属多级子企业信息? 查询的字段做表名参数 英文版sql server 2000数据库 插入中文乱码 帮忙看个游标? 如何汇总这样的记录? 求一条sql查询语句 第二范式与查询的冲突 小小的参数问题 如何用SQL命令调整某列在表内的位置?
set @t='psn$169$2005-11-29 16:20:08$sfasdf/test[align=...$$3$136$25'
set @t=substring(@t,9,19)
select @t
SELECT TOP 10 *
FROM Dv_Topic
WHERE (BoardID IN (44))
ORDER BY CAST(SUBSTRING(STUFF(STUFF(LastPost, 1, CHARINDEX('$', LastPost), ''), 1,
CHARINDEX('$', STUFF(LastPost, 1, CHARINDEX('$', LastPost), '')), ''), 1,
CHARINDEX('$', STUFF(STUFF(LastPost, 1, CHARINDEX('$', LastPost), ''), 1,
CHARINDEX('$', STUFF(LastPost, 1, CHARINDEX('$', LastPost), '')), '')) - 1)
AS datetime) DESC
set @sql='psn$169$2005-11-29 16:20:08$sfasdf/test[align=...$$3$136$25'
select substring(@sql,charindex('$',@sql,charindex('$',@sql)+1)+1,
charindex('$',@sql,charindex('$',@sql,charindex('$',@sql)+1)+1)-
charindex('$',@sql,charindex('$',@sql)+1)-1)
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
2005-11-29 16:20:08(所影响的行数为 1 行)