sql日期函数用哪个

lingyunbi 2011-02-14 11:29:49
ACESS数据库中销售表有如下日期型字段
"2011-2-14 20:30:25"

通过sql查询语句如:
todaydate=date()
todaydate="=#"&todaydate&"#"

sql="select sum(数量) as sum_total,sum(利润) as profit,sum(零售价*数量) as sellmoney from 销售表 where 销售日

期"&todaydate

用什么函数写在SQl语句中,能让"2011-2-14 20:30:25"变成"2011-2-14"呢
如sql="…… where 函数(销售日期)"&todaydate
...全文
183 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
lingyunbi 2011-03-03
  • 打赏
  • 举报
回复
本来我开始是用asp变量date()&"00:00:00"和now(),让sql记录集between这段时间就解决了这问题。可电脑的时钟有时候走有时候不走,有时候又走回去了,导致now()提取的时间不对。导致当天随时看报表的时候不准确,老要调电脑时钟才行。
lingyunbi 2011-03-03
  • 打赏
  • 举报
回复
还是不行,我是写在where子句中,convert函数,asp提示出错

要用lxpbs8851的说法,相等的情况是解决了,可是我的todaydate是一个变量,在另一个条件是下是接between语句,是要显示一段时期内的报表。

我的意是acess中日期字段“销售时间”是"2011-2-14 20:30:25"格式,用sql语句查询记录集的where条件要和asp中date()进行比较.asp变量的date()是系统的当前日期,如"2003-3-3",意思就是显示当天的报表

Shawn 2011-02-16
  • 打赏
  • 举报
回复
--access
SELECT FORMAT(date_field,'YYYY-MM-DD') AS date_field FROM table_name
SELECT FORMAT('2011-2-14 20:30:25','YYYY-MM-DD') as date_part
--sql server
declare @date datetime
set @date = '2011-2-14 20:30:25'
select date_part = CONVERT(char(10), @date, 120)
oO寒枫Oo 2011-02-16
  • 打赏
  • 举报
回复

sql="select sum(数量) as sum_total,sum(利润) as profit,sum(零售价*数量) as sellmoney
from 销售表
where year(销售日期)=year(GETDATE())
and month(销售日期)=month(GETDATE())
and day(销售日期)=day(GETDATE())
Mr_Nice 2011-02-16
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 abcjun188 的回复:]

SQL code
Select CONVERT(varchar(100), GETDATE(), 23): --结果 2006-05-16


SQL code
Select CONVERT(varchar(100), GETDATE(), 0): 05 16 2006 10:57AM
Select CONVERT(varchar(100), GETDATE(), 1): 05/16/……
[/Quote]

数据库如果是2008 以上的话,LZ可以考虑将日期和时间分开。
以下的话,还是继续用引用的方法转换吧!
O爱咋咋地O 2011-02-16
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 abcjun188 的回复:]
SQL code
Select CONVERT(varchar(100), GETDATE(), 23): --结果 2006-05-16



SQL code
Select CONVERT(varchar(100), GETDATE(), 0): 05 16 2006 10:57AM
Select CONVERT(varchar(100), GETDATE(), 1): 05/……
[/Quote]
这个好
sadikaqy 2011-02-16
  • 打赏
  • 举报
回复

convert(varchar(10),销售日期,120)
幸运的意外 2011-02-15
  • 打赏
  • 举报
回复
用SQL中的数据类型转换:convert(varchar(10),销售日期,120)
zhongyh1024 2011-02-15
  • 打赏
  • 举报
回复
select convert(varchar(10),'2011-1-14 20:30:25',120)
打一壶酱油 2011-02-15
  • 打赏
  • 举报
回复
Select CONVERT(varchar(100), GETDATE(), 23): --结果 2006-05-16 


Select CONVERT(varchar(100), GETDATE(), 0): 05 16 2006 10:57AM
Select CONVERT(varchar(100), GETDATE(), 1): 05/16/06
Select CONVERT(varchar(100), GETDATE(), 2): 06.05.16
Select CONVERT(varchar(100), GETDATE(), 3): 16/05/06
Select CONVERT(varchar(100), GETDATE(), 4): 16.05.06
Select CONVERT(varchar(100), GETDATE(), 5): 16-05-06
Select CONVERT(varchar(100), GETDATE(), 6): 16 05 06
Select CONVERT(varchar(100), GETDATE(), 7): 05 16, 06
Select CONVERT(varchar(100), GETDATE(), 8): 10:57:46
Select CONVERT(varchar(100), GETDATE(), 9): 05 16 2006 10:57:46:827AM
Select CONVERT(varchar(100), GETDATE(), 10): 05-16-06
Select CONVERT(varchar(100), GETDATE(), 11): 06/05/16
Select CONVERT(varchar(100), GETDATE(), 12): 060516
Select CONVERT(varchar(100), GETDATE(), 13): 16 05 2006 10:57:46:937
Select CONVERT(varchar(100), GETDATE(), 14): 10:57:46:967
Select CONVERT(varchar(100), GETDATE(), 20): 2006-05-16 10:57:47
Select CONVERT(varchar(100), GETDATE(), 21): 2006-05-16 10:57:47.157
Select CONVERT(varchar(100), GETDATE(), 22): 05/16/06 10:57:47 AM
Select CONVERT(varchar(100), GETDATE(), 23): 2006-05-16
Select CONVERT(varchar(100), GETDATE(), 24): 10:57:47
Select CONVERT(varchar(100), GETDATE(), 25): 2006-05-16 10:57:47.250
Select CONVERT(varchar(100), GETDATE(), 100): 05 16 2006 10:57AM
Select CONVERT(varchar(100), GETDATE(), 101): 05/16/2006
Select CONVERT(varchar(100), GETDATE(), 102): 2006.05.16
Select CONVERT(varchar(100), GETDATE(), 103): 16/05/2006
Select CONVERT(varchar(100), GETDATE(), 104): 16.05.2006
Select CONVERT(varchar(100), GETDATE(), 105): 16-05-2006
Select CONVERT(varchar(100), GETDATE(), 106): 16 05 2006
Select CONVERT(varchar(100), GETDATE(), 107): 05 16, 2006
Select CONVERT(varchar(100), GETDATE(), 108): 10:57:49
Select CONVERT(varchar(100), GETDATE(), 109): 05 16 2006 10:57:49:437AM
Select CONVERT(varchar(100), GETDATE(), 110): 05-16-2006
Select CONVERT(varchar(100), GETDATE(), 111): 2006/05/16
Select CONVERT(varchar(100), GETDATE(), 112): 20060516
Select CONVERT(varchar(100), GETDATE(), 113): 16 05 2006 10:57:49:513
Select CONVERT(varchar(100), GETDATE(), 114): 10:57:49:547
Select CONVERT(varchar(100), GETDATE(), 120): 2006-05-16 10:57:49
Select CONVERT(varchar(100), GETDATE(), 121): 2006-05-16 10:57:49.700
Select CONVERT(varchar(100), GETDATE(), 126): 2006-05-16T10:57:49.827
Select CONVERT(varchar(100), GETDATE(), 130): 18 ???? ?????? 1427 10:57:49:907AM
Select CONVERT(varchar(100), GETDATE(), 131): 18/04/1427 10:57:49:920AM


常用:
Select CONVERT(varchar(100), GETDATE(), 8): 10:57:46
Select CONVERT(varchar(100), GETDATE(), 24): 10:57:47
Select CONVERT(varchar(100), GETDATE(), 108): 10:57:49
Select CONVERT(varchar(100), GETDATE(), 12): 060516
Select CONVERT(varchar(100), GETDATE(), 23): 2006-05-16
叶子 2011-02-15
  • 打赏
  • 举报
回复

1、在查询中格式化输出日期
Format(date(), "yyyy-mm-dd")

2、计算两个日期的差值
DateDiff(interval, date1, date2[, firstdayofweek[, firstweekofyear]])

3、日期加上一段时间
DateAdd(interval, number, date)



参考:
http://wenku.baidu.com/view/6c5800a1284ac850ad02429a.html
Access时间和日期函数大全
rucypli 2011-02-14
  • 打赏
  • 举报
回复
convert(varchar(10),销售日期,120)

快溜 2011-02-14
  • 打赏
  • 举报
回复

select convert(varchar(10),'2011-2-14 20:30:25',120)

34,594

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧