Access交流中心

北京 | 上海 | 天津 | 重庆 | 广州 | 深圳 | 珠海 | 汕头 | 佛山 | 中山 | 东莞 | 南京 | 苏州 | 无锡 | 常州 | 南通 | 扬州 | 徐州 | 杭州 | 温州 | 宁波 | 台州 | 福州 | 厦门 | 泉州 | 龙岩 | 合肥 | 芜湖 | 成都 | 遂宁 | 长沙 | 株洲 | 湘潭 | 武汉 | 南昌 | 济南 | 青岛 | 烟台 | 潍坊 | 淄博 | 济宁 | 太原 | 郑州 | 石家庄 | 保定 | 唐山 | 西安 | 大连 | 沈阳 | 长春 | 昆明 | 兰州 | 哈尔滨 | 佳木斯 | 南宁 | 桂林 | 海口 | 贵阳 | 西宁 | 乌鲁木齐 | 包头 |

为何"2013年01月12日"不在其范围内???

wsxwsx1  发表于:2013-12-27 13:50:28  
复制

查询语句:日期 between "2013年01" and "2013年12" 
为何"2013年01月12日"不在其范围内???
(日期的类型是string)

 

Top
wlh 发表于:2013-12-27 14:24:40
日期范围的查询应使用:“between #日期1# and #日期2#”的语句

wsxwsx1 发表于:2013-12-27 14:40:11

说明:日期的类型是string,

如果我把名称“日期”改成“期限”,可能不会因“日期”产生他意,强调“日期”的数据类型是“string”



沈军 发表于:2013-12-27 14:56:43
日期需要以这样的格式写:mm/dd/yyyy,不要包含中文 m代表月份 d代表日期 y代表年份

沈军 发表于:2013-12-27 14:58:39
须要保证日期字段的数据类型是"日期/时间"格式,

沈军 发表于:2013-12-27 15:01:15
文本型的日期是没法进行大小对比的,须要用日期函数进行转换,在查询中可以完成

奇玉 发表于:2013-12-27 15:37:43

查询语句:日期 between "2013年01" and "2013年12" 为何"2013年01月12日"不在其范围内???回复:可以显示的啊,在其范围内。点击下载此附件

但最好是日期型才好比较,文本型按ASCII码值大小排序,书写要规范,如写成"2013年1月"就不在其范围内了。



专繁 发表于:2013-12-27 15:58:51

日期应设置为日期格式。然后如下也可以

>=#2013-1-1# And <=#2013-3-31#



wsxwsx1 发表于:2014-01-03 15:56:14

为什么把日期设置成字符类型,我考虑dj是非常有必要


有些数据是"2013年01月02日到2013年03月01日"

有些数据是"2013年01月"

有些数据是"2013年"


不是完全的日期类型!!




wsxwsx1 发表于:2014-01-03 16:03:15

还有些数据是"2013年底"

还有些数据是"2013年初"




wsxwsx1 发表于:2014-01-03 16:29:41

为什么把日期设置成字符类型,我考虑dj是非常有必要


有些数据是"2013年01月02日到2013年03月01日"

有些数据是"2013年01月"

有些数据是"2013年"

还有些数据是"2013年底"

还有些数据是"2013年初"

===============================

排序后的顺序:

1,有些数据是"2013年"

2,还有些数据是"2013年初"

3,有些数据是"2013年01月"

4,有些数据是"2013年01月02日到2013年03月01日"

5,还有些数据是"2013年底"


不是完全的日期类型!!




BMW 发表于:2014-01-04 23:31:50

要借助数据库(数据)处理,先得对数据的录入作规范,象10楼的已经输入的不规则的字符型内容,处理起来是不方便的。象10楼的情况,可以对原数据进行预处理,并另存为一新过渡字段,即:

“2013年”  改为“2013年01月01日”

“2013年初” 改为“2013年01月02日”

“2013年01月”改为“2013年01月02日”

“2013年底” 改为“2013年12月31日”

 

预处理完后,再对过渡字段检索、排序。

以上只是一种思路,具体需得依你原无规则的数据而定。

仅供参考。



wlh 发表于:2014-01-06 13:33:49
建议:如果能保证排序的正确性,直接使用比较符号>、<或者等于之类的即可

wsxwsx1 发表于:2014-02-24 13:36:02

“2013年”  改为“2013年01月01日”

“2013年初” 改为“2013年01月02日”

“2013年01月”改为“2013年01月02日”

“2013年底” 改为“2013年12月31日”

 ============================

这个随意性就非常大了。

不能这样处理,2013年初,不一定就是“2013年01月02日

“2013年01月初“与”2013年初“,就是二个意思。



总记录:13篇  页次:1/1 9 1 :