如何判断时间格式,从数据库取出不同年份或月份的数据,其他相同部分只取一个?

yaozhg 2003-10-18 10:05:59
比如,从数据库中有以下数据
2001-01-01
2001-01-02
2002-01-01
2003-01-01
2003-01-02

如何取出年份中不相同的部分?取出的结果应该是
有3个:2001,2002,2003这三个

sql="select * from daytime where .......后面怎么写?
...全文
310 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
angelheavens 2003-10-20
  • 打赏
  • 举报
回复
SELECT DISTINCT CAST(YEAR(datetime) AS char(4)),id,user,password,datetime
FROM abc
wangweinet777 2003-10-19
  • 打赏
  • 举报
回复
完整代码:
<%sql="SELECT DISTINCT cast(daytime as char(4)) FROM abc"
rs.open sql,conn,1,1
do while not rs.eof
%>
中间就插入了个<%=rs("daytime")%>
<%
rs.movenext
loop
%>
我知道为什么你会出错误了
上面你的代码需要改
中间就插入了个<%=rs("daytime")%>修改为<%=rs("cast")%>你再试一试
99percent 2003-10-19
  • 打赏
  • 举报
回复
你前面有没有
rs.close

set rs=nothing
之类?
99percent 2003-10-19
  • 打赏
  • 举报
回复
select distinct ....
的语句吧。
SQL书本上有啊。
找本看看
yaozhg 2003-10-19
  • 打赏
  • 举报
回复
完整代码:
<%sql="SELECT DISTINCT cast(daytime as char(4)) FROM abc"
rs.open sql,conn,1,1
do while not rs.eof
%>
中间就插入了个<%=rs("daytime")%>
<%
rs.movenext
loop
%>
yaozhg 2003-10-19
  • 打赏
  • 举报
回复
SELECT DISTINCT daytime FROM abc

运行结果:
2001-01-01
2001-01-02
2002-01-01
2003-01-01
2003-01-02

SELECT DISTINCT cast(daytime as char(4)) FROM abc

运行结果:
出错,未找到项目
<%=rs("daytime")%>这行出错.
kevin_gao 2003-10-19
  • 打赏
  • 举报
回复
select distinct year(daytime) from abc
wangweinet777 2003-10-19
  • 打赏
  • 举报
回复
你确认你其他代码没有任何问题嘛?
你把你的完整代码贴出来看看
SELECT DISTINCT cast(daytime as char(4)) FROM abc这SQL语句应该是没问题的
你可以这样测试一下
你直接把上面的这句SQL拿到SQL Server2000里面执行一下,如果没有任何问题,那么就说明可能你的ASP代码哪里有问题
yaozhg 2003-10-19
  • 打赏
  • 举报
回复
回复人: angelheavens(龙辉) ( ) 信誉:100

测试了可以,但我不太会用,字段名是daytime,数据类型是datetime 表名是abc
select distinct cast(daytime as char(4)) from abc
不行出错,未找到项目(我确定数据存在的)
请帮忙写一下.谢谢
yaozhg 2003-10-19
  • 打赏
  • 举报
回复
我有个新问题了.

SELECT DISTINCT daytime FROM abc

这样是取出日期不同的部分,但使用的时候也只能调用日期rs("daytime") 在同一表中还有id,username,password等字段,就用不了了....怎样加上去呀?

SELECT DISTINCT daytime,id,user,password FROM abc 不行不行...怎么写??
angelheavens 2003-10-19
  • 打赏
  • 举报
回复
呵呵,sorry,忘记用函数转换了:
select distinct cast(YEAR(datetime) as char(4)) from tablename
wangweinet777 2003-10-19
  • 打赏
  • 举报
回复
对不起
上次看错了
如果你只是需要查询不相同的年分,最好的办法还是用
SELECT DISTINCT year(daytime) FROM abc
如果你使用
SELECT DISTINCT CAST(daytime as char(4)) FROM abc这样的话
返回的查询结果只是日期中的月份
yaozhg 2003-10-19
  • 打赏
  • 举报
回复
kevin_gao(困了!累了!睡觉了!) ( ) 信誉:100
你的很简单呀,简单的就是好,试试再说.




99percent(冷月—鱼仔) ( ) 信誉:85

看了,书上只有一个简单的例子.


wangweinet777(石头) ( ) 信誉:90
好的,我试试.你怎么不早说.你应该善解人意,体谅初学者的肤浅嘛.
angelheavens 2003-10-18
  • 打赏
  • 举报
回复
select distinct cast(datetime as char(4)) from tablename
sear 2003-10-18
  • 打赏
  • 举报
回复
是分组试试看 但这个方法我不感确定对不对 :)
avonqin 2003-10-18
  • 打赏
  • 举报
回复
哦,错了~~不好意思
avonqin 2003-10-18
  • 打赏
  • 举报
回复
sql="select distinct datetime from daytime ……"

28,391

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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