邹建说这样就行了:Select FLZ from 表a where right(convert(char(6),getdate(),112),4)
between right('0'+BGMD,4) and right('0'+ENDMD,4)
-----------select CONVERT(varchar(10), getDate(),120) --不要时间2002-1-1
select convert(char(8),getdate(),112) ----20020101
select convert(char(8),getdate(),108) ---06:05:05 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]
- 126(***) ISO8601 yyyy-mm-dd Thh:mm:ss:mmm(不含空格)
- 130* 科威特 dd mon yyyy hh:mi:ss:mmmAM
- 131* 科威特 dd/mm/yy hh:mi:ss:mmmAM
between right('0'+BGMD,4) and right('0'+ENDMD,4)
-----------select CONVERT(varchar(10), getDate(),120) --不要时间2002-1-1
select convert(char(8),getdate(),112) ----20020101
select convert(char(8),getdate(),108) ---06:05:05 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]
- 126(***) ISO8601 yyyy-mm-dd Thh:mm:ss:mmm(不含空格)
- 130* 科威特 dd mon yyyy hh:mi:ss:mmmAM
- 131* 科威特 dd/mm/yy hh:mi:ss:mmmAM
解决方案 »
- 求教下这个SQL 怎么实现排序
- sql leftjoin多表查询,出现重复的数据,怎么处理?
- 如何在sql server2000中执行sql语句
- 关于将数据表中的内容从一台主机上传输到另一台主机上的疑问
- 如何解决因为删除数据行而造成的IDENTITY列标识发生短缺的现象
- 100分求简单的sql语句一条,第一个答对100分全送!
- 远程备份的错误:不允许一个用户使用一个以上用户名与服务器或共享资源的多重连接。中断与此服务器或共享资源的所有连接,然后再试一次..
- 沒有分類的表可不可以用產品庫中的分類字段使用呢﹖
- 各位高手请帮忙,数据库备份问题急!在线等!
- 关于update存储过程!紧急求助!!!
- 存储过程实现表的行列转置?
- 如何在一个字段中记录多选的结果
有个问是这样的。
BGMD ENDMD 是整型类型的,没办法比较啊!
401 528 前面不能加'0',这可怎么办?
Select FLZ from 表a where right(convert(char(6),getdate(),112),4)
between right('0'+ltrim(rtrim(cast(BGMD as char(4)))),4)
and right('0'+ltrim(rtrim(cast(ENDMD as char(4)))),4)
between right('0'+cast(BGMD as varchar),4) and right('0'+cast(ENDMD as varchar),4)
where month(getdate())*100+day(getdate()) between bgmd and endmd
declare @a table(stcdt int,FLZ decimal(10,1),BGMD int,ENDMD int)
insert into @a
select 1,10.1,401,528
union all select 2,9.8,1104,1218--语句
select * from @a
where month(getdate())*100+day(getdate()) between bgmd and endmd/*--结果:stcdt FLZ BGMD ENDMD
----------- ------------ ----------- -----------
2 9.8 1104 1218(所影响的行数为 1 行)
--*/