高手请进!关于时间字段的问题?(200分)

  • 主题发起人 主题发起人 wangyukai
  • 开始时间 开始时间
W

wangyukai

Unregistered / Unconfirmed
GUEST, unregistred user!
各位大哥,现我遇到这种情况,问了许多友人没法解决。如下:
后台系统:sco unix7.0 +ASE sybase12.3(数据库)。用sqladv.exe查看表中时间字段(Regtime)的内容,显示格式为MM DD YYYY ....PM.如:(Oct 10 2002 3:40PM)。但我在Dreamweaver MX+JSP环境环境下显示是(2002-10-10 15:40:00)。现在想知道怎么用select语句来查找到某年、某月的信息。比如说2002年所有的记录,2002年10月份所有的记录?用了select * from tablename where Regtime like '%2002%',可以查出2002年的记录。用了select * from tablename where Regtime like '%oct%',可以查出oct(10)月份的记录。但是怎么才能查找到2002年10月份的记录呢?2002年10月10日的又怎么查?
各位高手多多指教,很急!如果回答结果正确,本人给予200分或更多的奖励。
谢谢各位大虾!
 
如果字段类型是 Datetime 型
用 Regtime >= :d1 and Regtime <= :d2
d1,d2表示了一个时间的区间
 
select * from tablename where '2002-10-9'<Regtime<'2002-10-11'
 
1、功能:数据类型转换函数convert将表达式的数据类型从一种数据类型改变成另一种数据类型,并对日期/时间信息可指定新的显示格式。
Convert(datatype,expression[,style])
datatype为系统提供的数据类型,不能使用用户定义数据类型。它指定表达式将被转换的结果数据类型。
expression将要被转换的的数据类型或日期格式的值。
style为将datetime或smalldatetime型数据格式转换为CHAR,NCHAR,VARCHAR或nvarchar型数据时,所希望表示的格式(新的显示格式)
以上是SYBASE中关于该函数的解释,具体使用方法可查看SQLSERVER中的帮助示例。
例:
(CONVERT(char(10),Regtime,120)
将日期时间型字段Regtime转换为标准ODBC格式的日期时间显示格式的10位长的字符串
yyyy-mm-dd hh:nn:ss
 
select * from tablename where substr(Regtime,1,10) between '2002-10-9' and '2002-10-11'
 
一般用where convert(char(8),out_impo_date,112) >='20030701'
 
问题我自己搞清楚了。原来是个DATEPART这个函数的问题。可以结束了!不过还是感谢各位的赏脸,分配分数如下:app2001=100,xie0903=40,lich=20,ing=20,7syw=20
 
后退
顶部