编程论坛's Archiver

fsx 发表于 2008-5-7 10:21

关于sql语句

我用的是access数据库,开发语言是C#
可是sql语句的时间差老是不对或是出错。
下面是代码:
select datediff('yyyy',birthday," + System.DateTime.Now.ToString("yyyy-MM-dd") + ") as tt from photo
把上面的'yyyy'改为'y','year','yy'都不行。
当'yyyy'时得到的值好大,如birthday=1987-1-1时得出值为-82。
select * from photo where datediff('yyyy',birthday,getdate())=7时提示"getdate()"未定义。

请问该如何写才对。

fsx 发表于 2008-5-8 15:06

自己顶一下。
一句话就是关于在c#中access的时间差问题。

beniao 发表于 2008-5-9 22:06

回复 1# 的帖子

System.DateTime.Now.ToString("yyyy-MM-dd")
有这个用法吗?
你可以直接把数据查出来后在转换
  通过DataTime.Prase()

snipen 发表于 2008-5-10 10:52

要得到YYYY-MM-DD;用DateTime.Now.ToShortDateString();这样可以输出2008-05-09,

fsx 发表于 2008-5-14 09:32

还是不得哦。
select datediff('yyyy',birthday," + System.DateTime.Now.ToShortDateString() + ") as aa from photo
得到结果是-82,把'yyyy'改为'y'得到结果为-29789
是不是access数据库不能这样写呢?那对access数据库该如何写才对?谢谢了!

kevintang 发表于 2008-5-14 11:55

不会啊

页: [1]

Powered by Discuz! Archiver 6.1.0  © 2001-2007 Comsenz Inc.