scindy 发表于 2007-4-4 17:17

大家帮我看一下下面这条语句哪错了

<DIV ><B>大家帮我看一下下面这条语句哪错了</B></DIV>
<DIV><BR>use leetest<BR>select right(convert(char(8),KPDate,112),8)&gt;2007-04-01 from tblXskpMain<BR>go<BR><BR>系统提示:<BR><BR><FONT color=#ff0000>服务器: 消息 170,级别 15,状态 1,行 2<BR>第 2 行: '&gt;' 附近有语法错误。<BR><BR></FONT><FONT color=#000000>如果去掉</FONT><FONT color=#000000>)&gt;2007-04-01 就会列出所有的这个字段的值<BR>加上就不行了~~`</FONT></DIV><BR><BR><BR>

棉花糖ONE 发表于 2007-4-4 17:22

right(convert(char(8),KPDate,112),8)&gt;2007-04-01 ,select 后面应该不能这么用吧

scindy 发表于 2007-4-4 17:25

<P>哦,谢谢,我再试一下了`~`<BR><BR>那如何判断日期在2007-04-01至2007-04-30之间呢?<BR><BR><BR></P>

从小到大 发表于 2007-4-21 22:55

<P>用where 不就可以了吗?</P>

mingwangxing 发表于 2007-5-29 16:23

select * from where betwwen '2007-4-1' and '2007-4-30'<BR>注意:它只查询2007-4-1当天到2007-4-30 0点0分0秒,也就是不包括4月30号的记录.

chyhome 发表于 2007-6-1 00:08

<P>下面的文章对你应该有用:<br>谈谈有关SELECT语句在访问不同数据库方面的一些差别。<br>在SQL Server、Access、VFP三个数据库中分别有以下的这样一个表名都为“Employee”的数据表。如图1所示。</P>
<P><IMG src="http://www.pconline.com.cn/pcedu/soft/office/access/0507/pic/20050722-ado-1.jpg" border=0></P>
<P>图1</P>
<P>访问日期型字段的差别</P>
<P>在大多数情况下用SELECT语句分别去访问这三个数据库的这张表,没有什么区别,即你若编写了访问SQL Server数据库的SELECT语句,同样可用于访问Access数据库或VFP数据库,只要将连接的数据源改一改即可。但你若要对“出生年月”这一日期型字段进行查询的话,问题就来了,例如要查询1980年1月1日至1985年12月31日的员工资料,访问SQL Server中的数据表的语句是:</P>
<P>Select * from employee where 出生年月 between '1980-01-01' and '1985-12-31'</P>
<P>如果想当然地用这条语句去访问Access数据库那就大错特错了,必须加上函数DateValue(),正确的写法如下:</P>
<P>Select * from employee where 出生年月between DateValue('1980-01-01')and DateValue('1985-12-31')</P>
<P>如果要访问VFP日期型字段又必须采用以下这种写法:</P>
<P>select * from employee where 出生年月 between {^1980-01-01} and {^1985-12-31}</P>
<P>以上是SELECT语句对于访问不同数据库的日期型字段的差别,不了解这种差别,你会被搞得晕头转向,不知错在哪里。</P><br><IMG src="http://www.pconline.com.cn/pcedu/soft/office/access/0507/pic/20050722-ado-1.jpg" border=0>
[align=right][color=#000066][此贴子已经被作者于2007-6-1 0:09:50编辑过][/color][/align]


页: [1]

编程论坛