vb中sql的select查询语句的问题

一个sql数据库中有一个时间字段其格式是:2009-01-0110:10:10,要从该段中查询出2009-01,2009-02...后面的日时去掉,然后将查询出来数据放在... 一个sql数据库中有一个时间字段 其格式是:2009-01-01 10:10:10,
要从该段中查询出2009-01,2009-02...后面的日时去掉,然后将查询出来数据放在一个虚拟的表中,应该怎么写查询语句?请高手指点!!
select 时间 from table1 where 条件 ...
条件应该怎么些呢?谢谢
不好意思我可能没表达清楚,我就是从数据库中查询出时间段中的年月,然后以年月作为treeview的父节点,把完整的时间(即年月日时)作为子节点,利用treeview连接数据库 ,不知道怎么写查询语句
展开
 我来答
冷鲸侯荣
2019-01-31 · TA获得超过3676个赞
知道大有可为答主
回答量:3133
采纳率:30%
帮助的人:176万
展开全部
不能显示有两种情况:
1。程序有错误
2。程序没错,但查询到的数据集合为空
对于第2点又有2种情况:
a.SQL语句不对
b.SQL正确,数据库里的数据不满足条件
在多表查询时最好给所有字段都加上表名限制,减少出错的可能性
可以先测试一下SQL语句
SQL
SERVER在查询分析器里执行语句
ACCESS的话新建一个查询,在SQL视图中执行语句
照你前面所说,应该是Text1.Text
=
S.SNAME,可是你后面有些sql中又有WHERE
S.SNUM='"&
TEXT1.TEXT
&"'跟WHERE
SNAME='"&
TEXT1.TEXT
&"',我都不知道到底是哪个字段对应Text1.Text了。如果可以,把数据库结构贴出来看一下
我根据推测写了一个,你看看行不行
SELECT
C.CName
FROM
C,SC,S
WHERE
S.Snum=SC.Snum
AND
SC.Cnum=C.Cnum
AND
S.SName='"
&
Text1.Text
&
"'
//“&”号两边都有空格
我说的表明限制就是指
表名.字段名
这种写法,当数据库很大内容很多的时候,难免会有多个表拥有相同的字段名,当多表查询时这样可以减少一些错误
我猜你应该用的是Access吧,SQL
Server的话字符串要用单引号而不是双引号
你可以先在数据库测试sql语句,把S.SName='"
&
Text1.Text
&
"'换成S.SName="具体值"
没错后再放到程序里,如果还是有问题,设下断点跟踪调试
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
比北极熊还熊
2009-08-06 · TA获得超过124个赞
知道小有建树答主
回答量:322
采纳率:0%
帮助的人:221万
展开全部
你是先查所有的年月日作用父节点吧:
SELECT DISTINCT cast(YEAR(时间) as varchar(4))+'-'+cast(MONTH(时间) as varchar(2))+'-'cast(DAY(时间) as varchar(2)) FROM table1

然后字节点可以根据父节节点的年\月\日分别相等来查询!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
7525323
2009-08-06 · TA获得超过117个赞
知道小有建树答主
回答量:303
采纳率:55%
帮助的人:72.3万
展开全部
where convert(varchar(7),shijian,120)>'2009-01'

虚拟的表:用临时表(表名字前面加#) 或建视图
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
KarasCanvas
2009-08-06 · TA获得超过2865个赞
知道大有可为答主
回答量:3619
采纳率:0%
帮助的人:3274万
展开全部
其实没弄明白你要做什么...
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式