❶ sql 如何取小數點前面的數
select substr('10.20.30.40',
instr('10.20.30.40', '.', 1, 1 /*這里的1表示第1個. */) + 1,
instr('10.20.30.40', '.', 1, 2 /*這里的2表示第2個. */) -
instr('10.20.30.40', '.', 1, 1 /*這里的1表示第1個. */) - 1)
from al;
❷ sql 是幾位小數就顯示幾位小數如何實現
select
1.230,
REPLACE( RTRIM( REPLACE( Convert(varchar(10), 1.230), '0', ' ') ), ' ', '0')
查詢結果:
1.230 1.23
SQL Server 2008 Express 下測試通過。
如果是 Oracle , 就更省事一些。
❸ sql 日期相減帶小數 急!!!
例如比較'2010-1-1 00:01:00'和'2010-1-2 03:03:00'的日期差
select DATEDIFF (s,'2010-1-1 00:01:00', '2010-1-2 03:03:00')/(60.0*60.0*24.0)
---以下為結果:
1.126388888888
❹ SQL整數轉換成小數
1、首先打開SQL Server資料庫,然後准備一個數。
(4)sql計算小數擴展閱讀
SQL數據類型有以下這些:
1、二進制數據類型。
二進制數據包括 Binary、Varbinary 和 Image
Binary 數據類型既可以是固定長度的(Binary),也可以是變長度的。
Binary[(n)] 是 n 位固定的二進制數據。其中,n 的取值范圍是從 1 到 8000。其存儲空間的大小是 n + 4 個位元組。
Varbinary[(n)] 是 n 位變長度的二進制數據。其中,n 的取值范圍是從 1 到 8000。其存儲空間的大小是 n + 4個位元組,不是n 個位元組。
2、字元數據類型。
字元數據類型包括char、varchar和text。
字元數據是由字母、符號和數字的任意組合組成的數據。
varchar是可變長度字元數據,其長度不超過8kb。char是最大長度為8kb的固定長度字元數據。超過8kb的ASCII數據可以使用文本數據類型存儲。
3、Unicode 數據類型。
Unicode數據類型包括nchar、nvarchar和ntext。
在Microsoft SQL Server中,傳統的非Unicode數據類型允許使用由特定字元集定義的字元。在安裝SQL Server期間,允許選擇字元集。
在Unicode標准中,包含由各種字元集定義的所有字元。使用Unicode數據類型佔用的空間是使用非Unicode數據類型的兩倍。
❺ 如何用sql語句將計算結果保留兩位小數
selectROUND(13.145,2);
結果為:13.15
❻ SQL怎麼把小數轉換為百分比
先將數據轉換為numeric類型,保留4位小數點,由零點幾變為百分號前邊的數字,再轉換為varchar類型,然後再加'%'
如:
select ml as 毛利,sshje as 實收金額,
cast(cast(ml/sshje as numeric(4,4))*100 as varchar(20)) + '%' as 利潤率
from chasalldayhz
❼ sql server 2008計算一個人的准確年齡,精確到小數位1位.
第一種:
一張人員信息表裡有一人生日(Birthday)列,跟據這個列,算出該人員的年齡
datediff(year,birthday,getdate())
例:birthday = '2003-3-8'
getDate()= '2008-7-7'
結果為:5
這樣結果是會返回該人員的大概年齡,但不精確.不會精確到月或日.
按照上面測試的日期,該人員的實際年齡應該還不滿5歲。在需要精確年齡的時候,就會有錯.
第二種:
FLOOR(datediff(DY,birthday,getdate())/365.25)
FLOOR函數:
FLOOR(expr) 返回小於或等於expr的最大整數.FLOOR(1.1)返回1,FLOOR(-1.1)返回-2,FLOOR(1)返回1
這樣就可以精確算出,該人員當前實際年齡了.
測試:
birthday = '2000-7-8'
getdate()= '2007-7-7'
算出結果為:6
在Oracle中,要獲得日期中的年份,例如把sysdate中的年份取出來。
一種常用的方法是:to_number(to_char(sysdate,'yyyy'))
還有一種更好的方法,那就是使用oracle提供的Extract函數,使用方法是:
extract(year from sysdate) ,此方法獲得的結果是數值型的 ,這種方法省掉了類型轉換,更加簡潔。
相應的,要取得月份或日,可以用extract (month from sysdate) 和extract (day from sysdate)
❽ sql 乘除 保留小數點問題
cast(SUM(DATEDIFF(ss,opentime ,leavetime )/60.0/60.0) as numeric(18,2) )
就可以只保留兩位小數了。
❾ SQL哪些數據類型能帶小數又能計算的
浮點數據類型能帶小數又能計算。它包括REAL 數據類型、FLOAT、DECIMAL、NUMERIC
❿ SQL 求平均值保留小數問題
把取到的平均值round或者truncate一下(在avg外面),如下:
createviewAbcourseas
selectCno,COUNT(Cno)asNumber,round(avg(Grade),2)asAvggrade,MAX(Grade)asTopGrade
fromSCgroupbyCno;
望採納,謝謝