1. sql查詢提問:取前四位,並將後面的數據相加~
select substr(b.h_n_subject,0,4) as h_n_subject,
sum(g.h_count) as h_count,
sum(g.h_eval) as h_eval,
sum(g.h_ai) as h_ai
from table
group by h_n_subject
另外,這種取欄位前四位並進行判斷的設計,在海量數據的時候執行效率會非常低。這是資料庫設計不規范導致。為什麼你們不把前四位單獨作為一個欄位 然後後兩位作為一個欄位,然後兩個欄位再綁定在一起?
2. sql中對某欄位截取前4位後計數
select
d / 100 as 截取前4位後,
count(*) as 各有多少
from
表
group by
d / 100
如果結果中 d / 100 返回了小數, 例如 1234.56
那麼你需要使用一個函數來做 取整的 處理
如果你資料庫是 Oracle 或者 DB2, 那麼
用 TRUNC ( d / 100 ) 替換掉 d / 100
如果你資料庫是 SQL Server
用 ROUND( d / 100 , 0, 1 ) 替換掉 d / 100
3. sql中如何在where字句里截取某個欄位的前幾位字元
sql中在where字句里截取字元方法如下:
1、如果是sqlserver:where left(p.end_time,4) = '2012'。
2、如果是Oracle:where substr(p.end_time,0,4) = '2012'。
舉例:
1、oracle: 'where substr(欄位名,1,2)='''123''''
2、sqlserver: 'where substring(欄位名,1,2)='''123''''
(3)sql語句中保留前4位擴展閱讀:
sql中,常用函數介紹:
1、AVG():返回平均值
2、COUNT():返回行數
3、FIRST():返回第一個記錄的值
4、LAST():返回最後一個記錄的值
5、MAX():返回最大值
6、MIN():返回最小值
7、SUM():返回總和
8、UCASE():將某個欄位轉換為大寫
9、LCASE():將某個欄位轉換為小寫
10、MID():從某個文本欄位提取字元
11、LEN():返回某個文本欄位的長度
12、ROUND():對某個數值欄位進行指定小數位數的四捨五入
13、NOW():返回當前的系統日期和時間
14、FORMAT():格式化某個欄位的顯示方式
15、INSTR():返回在某個文本域中指定字元的數值位置
16、LEFT():返回某個被請求的文本域的左側部分
17、RIGHT():返回某個被請求的文本域的右側部分
4. sql 怎麼取 字元串的前幾位
sql中,使用LEFT函數即可取到字元串的前幾位。
LEFT(c, number_of_char)用於返回某個被請求的文本域的左側部分,其中c代表被請求的文本域,number_of_cha代表需要取出的字元串位數。如「LEFT("..com", 6)」即可取得字元串""。
(4)sql語句中保留前4位擴展閱讀:
sql中,常用函數介紹:
1、AVG():返回平均值
2、COUNT():返回行數
3、FIRST():返回第一個記錄的值
4、LAST():返回最後一個記錄的值
5、MAX():返回最大值
6、MIN():返回最小值
7、SUM():返回總和
8、UCASE():將某個欄位轉換為大寫
9、LCASE():將某個欄位轉換為小寫
10、MID():從某個文本欄位提取字元
11、LEN():返回某個文本欄位的長度
12、ROUND():對某個數值欄位進行指定小數位數的四捨五入
13、NOW():返回當前的系統日期和時間
14、FORMAT():格式化某個欄位的顯示方式
15、INSTR():返回在某個文本域中指定字元的數值位置
16、LEFT():返回某個被請求的文本域的左側部分
17、RIGHT():返回某個被請求的文本域的右側部分
5. 怎麼用SQL語句把某個表中的某個欄位前4位截取到另一個欄位中
1.
UPDATE 表1 SET 表1.新欄位 =MID(表1.[原欄位],1,4)
2.
update 表1 SET 表1.[新欄位] =left(表1.[原欄位],4)
6. sql2005 查詢表中某個欄位的的前4位
Num列是什麼類型的呢?如果是bigint類型,效率最高的方法是用between來確定數值范圍
SELECT * FROM tableA WHERE Num BETWEEN 230100000000 AND 2301999999999
也可以通過其它方法,但是如果Num列上有索引,進行算數運算的話就不能使用索引快速檢索數據了。
7. sql中如何在where字句里截取某個欄位的前幾位字元
sql中在where字句里截取字元方法如下:
1、如果是sqlserver:where left(p.end_time,4) = '2012'。
2、如果是Oracle:where substr(p.end_time,0,4) = '2012'。
8. sql 取字元前幾位
left(字元串,要取的字元數)
從左邊第一個起取字元串的N個字元
樓上正解
9. sql怎麼取字元串的前幾位
sql語句截取字元串前幾位語句:
select substr(cont_no,1,9) from for_contract
SUBSTRING ( expression , start , length )
expression:是字元串、二進制字元串、text、image、列或包含列的表達式。不要使用包含聚合函數的表達式。
start:是一個整數,指定子串的開始位置。
length:是一個整數,指定子串的長度(要返回的字元數或位元組數)。
eg:select id from users id的值是001.002$
select substring(ID,charindex('.',ID)+1,(charindex('$',ID)-charindex('.',ID)-1)) as idx