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
試一下這個吧。