请教一个关于SQL日期计算的问题!

来源:百度知道 编辑:UC知道 时间:2024/05/16 11:44:40
你好,我的SQL语句里有一句是这样写的:
sql="select *,datediff(yyyy,R_birthday,Getdate()) from table_R"
我现在想请教的问题是:如果我想其中的Getdate()这个系统时间更换成指定的特定日期,这句应该怎么写?比如这个地方是由一个表单提交过来的日期,如:2006年12月31日,格式是20061231.
路过的朋友们请帮帮忙,谢谢各位了!

首先要把表单提交过来的日期转换成一个日期字串,如:

dateStr=request("date")
dateStr=left(dateStr,4) & "/" & right(dateStr,4)
dateStr=left(dateStr,7) & "/" & right(dateStr,2)

然后把sql语句改成:

sql="select *,datediff(yyyy,R_birthday,#" & dateStr & "#) from table_R"

日期的两边要用#号表示日期.

2007-8-4 22:19:05
写成这种格式就可以
如果只有2007-8-4 也可以比较的

sql="select *,datediff(yyyy,R_birthday,'2007-8-4 22:19:05
') from table_R"

同上,补充一个分割符问题

ACCESS数据库用#
MSSQL数据库用'