A. sql 只取前20字节的数据怎么取
declare@testvarchar(50)
declare@needvarchar(50)
declare@numint
set@num=0
set@test='中中中中中中中中中中中中中'
while(@num<=len(@test))
begin
set@need=substring(@test,0,@num)
set@num=@num+1
if(datalength(@need)=20)
begin
print@need
break
end
end
B. 怎么才能查出sql数据库中某一表中的10-20条的数据 哪位知道啊 请不吝赐教啊 不好意思分弄光了,没有了
您好!
数据库表中的数据是没有顺序的,所以你说的10-20条的数据就必须的有个条件,也就是说
where
某列名
=
XXX,那么咱们
以Id
列来说吧
sql
语句
select
top
10
*
from
表名
where
id
not
in(select
top
10
id
from
表名)
这个语句是子查询就是说先查出前10条数据,然后再去查这个表去掉前10条的剩下的所有数据的前10条。明白了吗?以下是
通用的分页语句,比较简单
SELECT
TOP
页大小
*
FROM
TestTable
WHERE
ID
NOT
IN
(SELECT
TOP
页大小*页数
id
FROM
表
ORDER
BY
id))
ORDER
BY
ID
C. 使用sql查询使用sql查询前20条数据,但是显示的时候在前五条数据后面显示new.jpg
<%
set rs=server.CreateObject("adodb.recordset")
sql="select top 20 * from news"
rs.open sql,conn,1,3
if not rs.eof then
n=0
do while not rs.eof
n=n+1
%>
<table width="200" border="0" cellspacing="0" cellpadding="0">
<tr>
<td>·<%=rs("title")%>
<%if n<=5 and n>0 then %>
<img src="news.jpg" width="10" height="10" border="0" />
<%end if%>
</td>
</tr>
</table>
<%
rs.movenext
loop
end if
rs.close
set rs=nothing
%>
D. 怎么使用sql server查询显示第10条到第20条信息
1、sql查询前10条数据:
select top 10 * from tablename where 1=1;1
2、oracle查询前10条数据:
select * from tablename where rownum<=10;1
oeacle中没有top,使用的是rownum,下面是关于rownum的介绍:
================================
rownum是Oracle从8开始提供的一个伪列,是把SQL出来的结果进行编号,始终从1开始,常见的用途就是用来分页输出.
select * from tablename where rownum<=10;1
rownum也可以实现数据分页查询:
SELECT *
FROM (SELECT a.*, ROWNUM rn
FROM tablename a)
WHERE rn >= 10 AND rn <= 201234567
这条语句即是输出第10到第20条纪录,这里之所以用rownum rn,是把rownum转成实例,因为rownum本身只能用 <=的比较方式,只有转成实列,这样就可做 >=的比较了。
E. sql查询记录(第10-20条记录)
假设数据按字段名ID从小到大排序的。
SQL=\"select top 10 * from [table_name] where id in (select top 20 id from [table_name] order by id desc) order by id asc\"
这样显示出来的就是:从11到20条数据
F. SQL查询排序后前20条语句
SELECTC.DFROM(
SELECTC,D,ROWNUM RNFROM(
SELECTT.*FROMTABLE1 ORDER BY B DESC --降序
) T1
)WHERERN <= 20
注:用ROWNUM的话,你要先排好序,然后再用ROWNUM生成伪列,再限制行数。
(6)sql查询前20数据行扩展阅读:
关于sql语句查询排序
一、sql查询单词
order by 是用在where条件之后,用来对查询结果进行排序
order by 字段名 asc/desc
asc 表示升序(默认为asc,可以省略)
desc表示降序
order by 无法用于子查询,否则会报错:除非另外还指定了 TOP 或 FOR XML,否则,ORDER BY 子句在视图、内联函数、派生表、子查询和公用表表达式中无效。
二、关联查询(左外查询)(jt项目菜单查询)
<select id="findObjects" resultMap="map">
select c.*,p.name parentNam
from sys_menus c left join sys_menus p
on c.parentId=p.id
三、用ORDER BY 子句
SELECT <列名列表> FROM <表名>[WHERE 条件]ORDER BY <字段名1> [ASC|DESC] [ ,字段名2 [ASC|DESC] ] [,...n]--order by <字段名1> (不写ASC|DESC, 则默认升序ASC)
G. 在SQL中怎样查询一个表的第20条数据到30条数据
1、创建测试表,
create table test_order(id number , value varchar2(20));
H. SQL Server 2000查询某数据库中所有>100行记录的表的前20行
--Mark表为提供数据的表,TB_1表为待出入数据的表
declare @count int
set @count = 1
select @count = count(course) from Mark
--创建临时表
select identity(int,1,1) as TempID,course as TempCourse into #TempTB from Mark
declare @index int
set @index = 1
declare @course nvarchar(50)
--循环把Mark表course字段的数据出入TB_1表的remark字段
while(@index<=@count)
begin
select @course = TempCourse from #TempTB where TempID = @index
update TB_1 set remark = @course where remark is null and id = (select top 1 id from TB_1 where remark is null order by id)
set @index = @index + 1
end
--删除临时表
drop table #TempTB
试一下这个吧。