求教一句SQL语句,解决5:00之前给分,在线等待

karach 2003-08-22 02:42:01
以前的数据库里面的时间(年月日)是分开的,我现在想把他合并,请问怎么写?
例如:
年 月 日
2000 4 12
2001 12 4
我现在想把这些合并起来,加到新数据库里面的
例如:
时间
2000-4-12
2001-12-4
请问怎么写,解决马上给分!谢谢!!
...全文
39 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
mysqlcom 2003-08-22
  • 打赏
  • 举报
回复
用下面的存储过程,你就回家睡觉,让机器工作吧


CREATE Procedure myTest
As
Declare @Date1 varchar(10)
Declare @DID int
Declare test_cur Cursor For


Select d1 +'-'+d2+'-'+d3 as NewDate,[ID] as NowID from table1 /* 选择数据,d1,d2,d3 换成你数据库中的字段,ID换成你数据库中的主键,table1换成你的表名*/


Open test_cur --打开游标


fetch next from test_cur into @date1,@Did /*数据写入变量*/


While @@fetch_status=0

Begin
Update table1 set nowDate=@date1 where [id]=@DID
Fetch next from test_cur into @date1,@Did
End
GO
toyjoy 2003-08-22
  • 打赏
  • 举报
回复
楼上的都说了,我接分!!呵呵
fatebus 2003-08-22
  • 打赏
  • 举报
回复
学习。
Ngg 2003-08-22
  • 打赏
  • 举报
回复
在建立 query 控件時~~加入
procedure (組件名).query(sql 查詢控件 )CalcFields(DataSet: TDataSet);
begin
Dataset.FieldByName('(任意查詢字段)').Asstring:=DataSet.Fieldbyname('年').Asstring+'-'+DataSet.Fieldbyname('月').Asstring+'-'+DataSet.fieldbyname('日').Asstring;
end;

在其它過程引用時﹐直接鍵入'任意查詢字段'字符既可﹞
yujohny 2003-08-22
  • 打赏
  • 举报
回复
INSERT INTO NewTable(时间)
SELECT CONVERT(DATETIME,(年+'-'+月+'-'+日)) FROM YourOld_Table
shjanen 2003-08-22
  • 打赏
  • 举报
回复
同意 chinasg(牛) 的回答
chinasg 2003-08-22
  • 打赏
  • 举报
回复
insert into New_Table (DateField)
select to_date(yearfield||'-'||monthfield||'-'||dayFiledm,'yyyy-mm-dd') from
YourOld_Table;

注意:To_date是Oracle的函数,SQLServer的自己查一下,格式会有些不一样。

5,388

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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