Foxtable(狐表)用户栏目专家坐堂 → [求助] 这条SQL查询怎么写?


  共有20470人关注过本帖树形打印复制链接

主题:[求助] 这条SQL查询怎么写?

帅哥哟,离线,有人找我吗?
wcs
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1034 积分:7402 威望:0 精华:0 注册:2008/8/31 22:52:00
[求助] 这条SQL查询怎么写?  发帖心情 Post By:2008/11/15 19:42:00 [只看该作者]

源表A:(外部sql数据库中)
a               b             c
2008         10           4
2008           4          24

我想得到的表B:
a              b              c               d
2008       10            4              2008-10-4
2008       4             24             2008-4-24


其中:a、 b、 c为整数列,我希望查询出来的d 为日期列 

我写了这样的一个查询:
select  a,b,c,concat(a,"-",b,"-",c) as d form[表A]
结果不能执行。

有高手知道这条查询如何写吗?


 回到顶部
帅哥哟,离线,有人找我吗?
eric803
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:243 积分:2370 威望:0 精华:1 注册:2008/8/31 22:25:00
  发帖心情 Post By:2008/11/15 20:11:00 [只看该作者]

 select a,b,c,cast(a as char(4))+'-'+cast(b as varchar(2))+'-'+cast(c as varchar(2)) as d from [表A]

 回到顶部
帅哥哟,离线,有人找我吗?
wcs
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1034 积分:7402 威望:0 精华:0 注册:2008/8/31 22:52:00
  发帖心情 Post By:2008/11/15 20:41:00 [只看该作者]

谢谢,我测试了一下,是可以执行的。

能解释一下char()   和  varchar()  的意思吗?

同时,我在这条查询语句中加了一个where,就不能执行了,

select a,b,c,cast(a as char(4))+'-'+cast(b as varchar(2))+'-'+cast(c as varchar(2)) as d from [表A] where d = '2008-10-4'

程序提示d 列不存在。


我的数据源中的年、月、日是分别放在不同的列中的,如上例。 我在查询时希望把它们整到一起,同时按日期来筛选查询结果。
为解决这个问题,还有别的适合的查询语句吗?

[此贴子已经被作者于2008-11-15 20:44:39编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
yuanbin
  4楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:102 积分:880 威望:0 精华:4 注册:2008/8/31 21:47:00
  发帖心情 Post By:2008/11/16 11:54:00 [只看该作者]

在以上基础上有2种写法:
1、select a.* from (select a,b,c,cast(cast(a as char(4))+'-'+cast(b as char(2))+'-'+cast(c as char(2)) as datetime) as d from 表A) as a where d='2008-10-4'

2、select a,b,c,cast(cast(a as char(4))+'-'+cast(b as char(2))+'-'+cast(c as char(2)) as datetime) as d from 表A  where cast(cast(a as char(4))+'-'+cast(b as varchar(2))+'-'+cast(c as varchar(2)) as datetime)='2008-10-4'

char 和 varchar  字符数据类型说明:固定长度用char,可变长度用varchar。


 回到顶部
帅哥哟,离线,有人找我吗?
wcs
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1034 积分:7402 威望:0 精华:0 注册:2008/8/31 22:52:00
  发帖心情 Post By:2008/11/16 17:09:00 [只看该作者]

问题已经解决,谢谢!

有一个经验总结,已发贴!

 回到顶部