数据查询问题

iwzw 2003-10-17 11:57:43
一个数据库中有一个记录为date格式数据,比如为“2002/03/16","2003/08/18"等,如何用查询语句快速得到所有的年份(比如2002,2003...等等)?
是否可以用source=select distinct 日期 from 表1类似的语句实现?
...全文
46 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
iwzw 2003-10-18
  • 打赏
  • 举报
回复
up
hn123 2003-10-17
  • 打赏
  • 举报
回复
查出来后还要拆
zhangying7725 2003-10-17
  • 打赏
  • 举报
回复
select distinct left("日期",4) from table
lxqlogo0 2003-10-17
  • 打赏
  • 举报
回复
SELECT DISTINCT YEAR(日期)
FROM table
golden24kcn 2003-10-17
  • 打赏
  • 举报
回复
咦,这个问题???我刚刚不是??


SELECT DISTINCT LEFT(CAST(日期列 AS varchar(10)), 4) FROM 表
iwzw 2003-10-17
  • 打赏
  • 举报
回复
Source = "select distinct year(录入时间) as 录入时间 from 日记"
试过也不行。

请把通过的代码贴出来,好吗?谢谢!
txlicenhe 2003-10-17
  • 打赏
  • 举报
回复
改一行代码,如下即可:
Source = "select distinct year(录入时间) as 录入时间 from 日记"
iwzw 2003-10-17
  • 打赏
  • 举报
回复
代码摘录有错,应为:List1.AddItem DatePart("yyyy", rs!录入时间)

现在问题是查讯后,提示“在对应所需名称或序数的集合中,未找到项目”,但表中明明有项目的,用“select distinct 录入时间 from 日记”可以证明。

哪位朋友用select distinct year(fieldname) from tablename 查讯通过测试,请贴出代码以便比较一下,谢谢!
iwzw 2003-10-17
  • 打赏
  • 举报
回复
谢谢各位朋友。你们提供的方法我都试了,为什么查讯不出结果?请看代码:
Dim Cn As New ADODB.Connection
Dim rs As New ADODB.Recordset

Private Sub Form_Load()
Dim Source As String
Dim ActiveConnection As String
Cn.ConnectionString = "uid=admin;pwd=1234;DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & App.Path & "\日记.mdb"
Cn.Open
On Error Resume Next
' Source = "select distinct 录入时间 from 日记"
' Source = "select distinct DatePart('yyyy', 录入时间) from 日记"
' Source = "select distinct LEFT(CAST(录入时间 AS varchar(10)), 4) from 日记"
' Source = "select distinct SUBSTRING(录入时间,1,4)from 日记"
Source = "select distinct year(录入时间) from 日记"
rs.Open Source, Cn, 3, 3
rs.MoveFirst
Do Until rs.EOF '
List1.AddItem IIf(Len(DatePart("yyyy", rs!录入时间)) = 1, 0 & DatePart("yyyy", rs!录入时间), DatePart("yyyy", rs!录入时间))
rs.MoveNext
Loop
rs.Close
End Sub
cbzdream 2003-10-17
  • 打赏
  • 举报
回复
select distinct year(日期) from table
yoki 2003-10-17
  • 打赏
  • 举报
回复
SELECT DISTINCT DATEPART('yy',日期)
FROM table
liaorui 2003-10-17
  • 打赏
  • 举报
回复
同意楼上这位的处理方法
xayzmb 2003-10-17
  • 打赏
  • 举报
回复
select distinct year(日期) from table
whjwsy 2003-10-17
  • 打赏
  • 举报
回复
让它找大于#0-0-0#的记录即可.

1,216

社区成员

发帖
与我相关
我的任务
社区描述
VB 数据库(包含打印,安装,报表)
社区管理员
  • 数据库(包含打印,安装,报表)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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