---我的日期格式是:yyyy年m月d日. ---意思是字符串为这种形式吗?如果这样的话可以 cast(replace(replace(replace(字段名,'年','-'),'月','-'),'日','') as datetime)---将字符串转化为时间型
select * from 表 where convert(datetime,日期) between '2005/06/30' and '2005/07/05'
---我的日期格式是:yyyy年m月d日. ---意思是字符串为"yyyy年m月d日"这种形式吗?如果这样的话可以 cast(replace(replace(replace(字段名,'年','-'),'月','-'),'日','') as datetime)---这个将字符串字段转化为时间型 ---如果要查询某一时段的记录的时候 select * from table where cast(replace(replace(replace(字段名,'年','-'),'月','-'),'日','') as datetime) between '2005/06/30' and '2005/07/05'
select * from base where (cast(replace(replace(replace(fcrq,'年','-'),'月','-'),'日','') as datetime) between '2005-7-1' and '2005-7-5')and (czxh like 'mm%') and (gzbh like 'xk%') ===================================================================================== 这个语句在sql2000里是正常的,我如果用在access上就不正常了,不知道是什么原因。
---意思是字符串为这种形式吗?如果这样的话可以
cast(replace(replace(replace(字段名,'年','-'),'月','-'),'日','') as datetime)---将字符串转化为时间型
---意思是字符串为"yyyy年m月d日"这种形式吗?如果这样的话可以
cast(replace(replace(replace(字段名,'年','-'),'月','-'),'日','') as datetime)---这个将字符串字段转化为时间型
---如果要查询某一时段的记录的时候
select * from table where cast(replace(replace(replace(字段名,'年','-'),'月','-'),'日','') as datetime) between '2005/06/30' and '2005/07/05'
不带世纪数位 (yy) 带世纪数位 (yyyy)
标准
输入/输出**
- 0 或 100 (*) 默认值 mon dd yyyy
1 101 美国 mm/dd/yyyy
2 102 ANSI yy.mm.dd
3 103 英国/法国 dd/mm/yy
4 104 德国 dd.mm.yy
5 105 意大利 dd-mm-yy
6 106 - dd mon yy
7 107 - mon dd, yy
8 108 - hh:mm:ss
9 109 (*) 默认值 + 毫秒 mon dd yyyy hh:mi:ss:mmmAM(或 PM)
10 110 美国 mm-dd-yy
11 111 日本 yy/mm/dd
12 112 ISO yymmdd
13 113 (*) 欧洲默认值 + 毫秒 dd mon yyyy hh:mm:ss:mmm(24h)
14 114 - hh:mi:ss:mmm(24h)
20 120 (*) ODBC 规范 yyyy-mm-dd hh:mm:ss[.fff]
21 121 (*) ODBC 规范(带毫秒) yyyy-mm-dd hh:mm:ss[.fff]
=====================================================================================
这个语句在sql2000里是正常的,我如果用在access上就不正常了,不知道是什么原因。