A. 如何用一句sql語句實現查取值的和小於某個范圍的所有值
表 a ....,total,...
表 b ...,total,...
查詢 a,b 中 total 含有 各種可能相同的數據
select * from a
where total in (select total from a group by total having count(total) > 10)
union
select * from b
where total in (select total from b group by total having count(total) > 10)
;
B. Oracle用SQL查詢處理百分率的時候,小於1%的顯示為 .22%,有沒有什麼處理辦法讓其顯示為0.22%呀。。
關於小數的顯示問題。
CREATETABLEtest_tochar(
idINT,
valdecimal(10,4)
);
INSERTINTOtest_tocharVALUES(1,0.0001);
INSERTINTOtest_tocharVALUES(2,0.0012);
INSERTINTOtest_tocharVALUES(3,0.0123);
INSERTINTOtest_tocharVALUES(4,0.1234);
INSERTINTOtest_tocharVALUES(5,1.2345);
INSERTINTOtest_tocharVALUES(6,12.3456);
INSERTINTOtest_tocharVALUES(7,123.4567);
INSERTINTOtest_tocharVALUES(8,1234.5678);
INSERTINTOtest_tocharVALUES(9,12345.6789);
默認的顯示方式。
SQL>COLUMN"Result"FORMATA15
SQL>SELECTid,TO_CHAR(val)ResultFROMtest_tochar;
IDRESULT
-------------------------
1.0001
2.0012
3.0123
4.1234
51.2345
612.3456
7123.4567
81234.5678
912345.6789
已選擇9行。
注意到,小於1的數據,被to_char成.0001了。而不是0.0001
修改TO_CHAR的格式化參數:
SQL>SELECTid,TO_CHAR(val,'999,990.999')ResultFROMtest_tochar;
IDRESULT
-------------------------
10.000
20.001
30.012
40.123
51.235
612.346
7123.457
81,234.568
912,345.679
已選擇9行。
C. sql查詢大於欄位的所有數據,或小於欄位的所有數據
例如查詢時間欄位在2008-01-01(含)至2008-10-31(含)之間的記錄可以這么寫:
select* from 表名 where 時間欄位 between '2008-01-01' AND '2008-12-31'
或者是select* from 表名 where 時間欄位 >= '2008-01-01' AND 時間欄位 <='2008-12-31'
如果是查詢所有小於當2008-10-31(含)的所有數據即為:
select* from 表名 where 時間欄位<='2008-12-31'
(3)oraclesql的查詢小於擴展閱讀:
SQL Aggregate 函數計算從列中取得的值,返回一個單一的值。
有用的 Aggregate 函數:AVG() - 返回平均值,COUNT() - 返回行數,FIRST() - 返回第一個記錄的值,LAST() - 返回最後一個記錄的值,MAX() - 返回最大值,MIN() - 返回最小值,SUM() - 返回總和。
SQL Scalar 函數基於輸入值,返回一個單一的值。
有用的 Scalar 函數:UCASE() - 將某個欄位轉換為大寫,LCASE() - 將某個欄位轉換為小寫,MID() - 從某個文本欄位提取字元,LEN() - 返回某個文本欄位的長度,ROUND() - 對某個數值欄位進行指定小數位數的四捨五入,NOW() - 返回當前的系統日期和時間,FORMAT() - 格式化某個欄位的顯示方式。
參考資料:網路——sql
D. oracle查詢sql中">=" 與">"的效率哪個高
> 效率高,盡量用>,因為>=要掃描兩遍,先找出大於的記錄,再找出等於的記錄。
而>只需要掃描一遍,找大於的記錄。
比如你要找小於等於今天的記錄,平時是 日期<= trunc(sysdate)
你可以改成 日期< trunc(sysdate + 1) 效率高點。
我看書是這樣的,但是我拿實際記錄去試,好像>=耗資源少點,暈。
你自己拿多點的記錄去試試吧。
E. sql語句查詢表中一個欄位的值小於另一個欄位的值怎麼寫
直接寫就行啊,比如 where dnum<alldnum
這樣語句就會一行一行的比較,當這一行的dnum值小於這一行的alldnum值時就會輸出。
F. sql中,查詢一個欄位,無論欄位有多長只要截取前面小於等於四位的欄位該怎樣查詢,急求
SELECT SUBSTRING(col ,1,4) AS Initial, Last Name
FROM Employees
語法:SUBSTRING ( expression, start, length )
SQL 中的 substring 函數是用來抓出一個欄位資料中的其中一部分。這個函數的名稱在不同的資料庫中不完全一樣:
MySQL: SUBSTR(), SUBSTRING()
Oracle: SUBSTR()
SQL Server: SUBSTRING()
G. 如何使用SQL查詢欄位內容前兩位小於「10」的所有記錄
oracle中可以用下面這個語句解決你的問題:
select * from 表 where to_number(to_char(date,'yyyy'))<'2010'