以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 日期的季度和周的selec语句如何写(OK) (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=41977) |
-- 作者:zpx_2012 -- 发布时间:2013/10/31 17:26:00 -- 日期的季度和周的selec语句如何写(OK) 如下:可以用Select 语句查询日期的年,月作为它用, SELECT Year(日期) AS 年, Month(日期) AS 月, SUM(数量) AS 数量 FROM {订单}如果还想得到日期是一年中的第几季和第几周用什么函数?比如: SELECT Year(日期) AS 年, XXX(日期) AS 季,
XXX (日期) AS 周,SUM(数量) AS 数量 FROM {订单} 上面红色XXX部份分别要用哪两个函数, 用 SELECT Year(日期) AS 年, DatePart(\'q\', 日期) AS 季度, DatePart(\'ww\',
" & c & " ) AS 周 FROM {订单} c 是一个日期变量,总提示DatePart指定的第1个参数无效 谢谢!
[此贴子已经被作者于2013-10-31 17:54:13编辑过]
|
-- 作者:Bin -- 发布时间:2013/10/31 17:33:00 -- 没有现成的函数,你可以根据 Month(日期) 来实现 如果是MSSQL 可以 SELECT Year(日期) AS 年,case when month(日期) < 4 then \'第一季度\' when month(日期) BETWEEN 4 and 6 then \'第二季度\' when month(日期) BETWEEN 7 and 9 then \'第二季度\' when month(日期) BETWEEN 10 and 12 then \'第二季度\' end as 季度
|
-- 作者:狐狸爸爸 -- 发布时间:2013/10/31 17:35:00 -- 你不能直接将SQL语句写成:
SELECT Year(日期) AS 年, DatePart(\'q\', 日期) AS 季度, DatePart(\'ww\', " & c & " ) AS 周 FROM {订单}
这是代码,你的用代码解决:
Dim s As string = "SELECT Year(日期) AS 年, DatePart(\'q\', 日期) AS 季度, DatePart(\'ww\', " & c & " ) AS 周 FROM {订单}"
然后将s赋值给需要调用这个seect语句的立方,例如:
cmd.CommandText = s
或:
Tables("xxx").Fill(s, ....)
[此贴子已经被作者于2013-10-31 17:37:49编辑过]
|
-- 作者:Bin -- 发布时间:2013/10/31 17:37:00 -- DatePart 好东东都忘记拿出来用了 |
-- 作者:逛逛 -- 发布时间:2013/10/31 17:38:00 -- 把 q 的单引号去掉 |
-- 作者:zpx_2012 -- 发布时间:2013/10/31 17:44:00 -- SQL语句的写法应该是正确的,用msgbox可以显示出来。 [此贴子已经被作者于2013-11-1 0:16:43编辑过]
|
-- 作者:逛逛 -- 发布时间:2013/10/31 17:47:00 -- 你还是没有把单引号去掉
DatePart(Interval, date)
的Interval是不需要单引号的 [此贴子已经被作者于2013-10-31 17:48:15编辑过]
|
-- 作者:狐狸爸爸 -- 发布时间:2013/10/31 17:49:00 -- 你这个图片对于解决你的问题没有任何意义。 既然怀疑合成的sql语句有问题,你就用output.show将很成的sql语句显示到命令窗口,然后复制这个sql语句到sql执行窗口执行调试分析,或者贴出你合成的语句给大家看。
另注意如果你的是sql server,q,w这些是不需要单引号的。 |
-- 作者:zpx_2012 -- 发布时间:2013/10/31 17:51:00 -- 谢谢大家,逛逛说的很正确,把单收号去掉就可以了。谢谢 逛逛! |