查询某时间段内的日期但是日期字段是varchar型
在表A中查询出字段‘a_time’在某时间断内的数据,
但是‘a_time’为varchar类型,并且数据形式参差不齐

这样查出的结果如下:

也想过直接字符串中取出数字然后拼接比较。
不会遍历去取
有什么好的方法吗?
但是‘a_time’为varchar类型,并且数据形式参差不齐

select a_time from A where a_time between '2012-1-01'and '2012-3-05' order by convert(datetime,a_time) desc
这样查出的结果如下:

也想过直接字符串中取出数字然后拼接比较。
IF OBJECT_ID('DBO.GET_NUMBER2') IS NOT NULL
DROP FUNCTION DBO.GET_NUMBER2
GO
CREATE FUNCTION DBO.GET_NUMBER2(@S VARCHAR(100))
RETURNS VARCHAR(100)
AS
BEGIN
WHILE PATINDEX('%[^0-9]%',@S) > 0
BEGIN
set @s=stuff(@s,patindex('%[^0-9]%',@s),1,'')
END
RETURN @S
END
GO
PRINT DBO.GET_NUMBER2()
不会遍历去取
有什么好的方法吗?
...全文
相关推荐
SQL普通表转分区表的方法
SQL普通表转分区表的方法,需要的朋友可以参考一下
学生成绩管理系统数据库表结构说明样本(1).doc
学生成绩管理系统数据库表结构说明样本(1).doc
王俊龙_(毕业论文)_数据库设计
王俊龙_(毕业论文)_数据库设计 登录模块 课表模块 教室资源模块
varchar日期字段分区demo
Range分区:最为常用,基于属于一个给定连续区间的列值,把多行分配给分区。最常见的是基于时间字段. 基于分区的列最好是整型,如果日期型的可以使用函数转换为整型。varchar日期字段分区sql demo
SqlServer 按时间段查询问题
主要介绍了SqlServer 按时间段查询问题,需要的朋友可以参考下


