关于日期分离的问题。(50分)

  • 主题发起人 xyt3dnow
  • 开始时间
X

xyt3dnow

Unregistered / Unconfirmed
GUEST, unregistred user!
本人的一段程序,将pardox数据库的三个日期字段分离为年、月、日。但转到sql数据库后
却不能运行通过,求高手修改。
form1.adoquery1.Close;
form1.adoquery1.SQL.Clear;
form1.adoquery1.SQL.Add('SELECT Qsrq,Jzrq,Djrq, id,fwzl,czr,czry,mj,fwjg,bz,yf,fzjg,fzdq,fwsyzh,xxdd,');
form1.adoquery1.SQL.Add('EXTRACT(YEAR FROM Qsrq) AS qy,EXTRACT(MONTH FROM Qsrq) AS qM,');
form1.adoquery1.SQL.Add('EXTRACT(DAY FROM Qsrq) AS qD,EXTRACT(YEAR FROM Jzrq) AS jy,');
form1.adoquery1.SQL.Add('EXTRACT(MONTH FROM Jzrq) AS jM,EXTRACT(DAY FROM Jzrq) AS jD,');
form1.adoquery1.SQL.Add('EXTRACT(YEAR FROM Djrq) AS dy,EXTRACT(MONTH FROM Djrq) AS dM,EXTRACT(DAY FROM Djrq) AS dD');
form1.adoquery1.sql.add('from kknd');
form1.adoQuery1.Prepared;
form1.adoquery1.Open;
提示为,incorrect syntax near the key word 'from'
 
就算是添加在adoquery控件的sql的文本中,也是提示这个错误。
 
在from前加上空格
 
你试着在服务器端添加VIEW的方式来解决.
我也遇到过类似问题,好像不能进行计算.
 

你需要有from 前加上一个空格。其实提示已经告诉你,该sql语句没有from关键字。
你写的from与dD组合成了 "dDfrom"了。
 
用以下句子可以分离,当都是分离2002-08-01的日期,就是当前的日期,怎样才能分离我
sql数据库中实际的三个日期字段呢?
SELECT Qsrq,Jzrq,Djrq, id,fwzl,czr,czry,mj,fwjg,bz,yf,fzjg,fzdq,fwsyzh,
xxdd,qsrq = GETDATE(), 'qy' = year(GETDATE()), 'qm' = MONTH(GETDATE()),
'qd' = day(GETDATE()),
jzrq = GETDATE(), 'jy' = year(GETDATE()), 'jm' = MONTH(GETDATE()),
'jd' = day(GETDATE()),
djrq = GETDATE(), 'dy' = year(GETDATE()), 'dm' = MONTH(GETDATE()),
'dd' = day(GETDATE())
FROM kknd
 
正确的答案我找出来了,大家看看,少走点弯路。其实也很简单的。
SELECT Qsrq,Jzrq,Djrq, id,fwzl,czr,czry,mj,fwjg,bz,yf,fzjg,fzdq,fwsyzh,
xxdd, 'qy' = YEAR(qsrq), 'qm' = MONTH(qsrq), 'qd' = day(qsrq),
'jy' = YEAR(jzrq), 'jm' = MONTH(jzrq), 'jd' = day(jzrq),
'dy' = YEAR(djrq), 'dm' = MONTH(djrq), 'dd' = day(djrq)
FROM kknd
 
多人接受答案了。
 
顶部