数学函数和系统函数

Posted on 2021-03-06 17:01  夜雨初凉  阅读(112)  评论(0)    收藏  举报

☆数学函数:

函数 用法
abs(n) 绝对值
ceiling(n) (天花板) 返回大于或等于参数的最小整数,向上取整
floor(num) 地板 - 返回小于或等于参数的最大整数,向下取整
round(num,小数精度位数) 返回四舍五入的数字
rand() 随机数0-1,返回从0到1之间的随机float值
power(a,b) a的b次方

示例:

--abs():绝对值
   select abs(-56)  --56
   select abs(56)  --56

--ceiling(num):天花板 - 返回大于或等于参数的最小整数
   select ceiling(52.64) --53
   select ceiling(51.01) --52
   select ceiling(-25.45)-- -25
--ceiling(num):向上取整

--floor(num):地板 - 返回小于或等于参数的最大整数
   select floor(52.64) -- 52
   select floor(51.01) -- 51
   select floor(-25.45)--  -26
--floor(num):向下取整

--round(num,小数精度位数):返回四舍五入的数字	
   select round(51.62,0) --52.00
   select round(51.62,1) --51.60
   select round(51.02,1) --51.00
   select round(51.0210086,2)--51.0200000 

--rand():随机数0-1   
--返回从0到1之间的随机float值。
   select rand() 	--数字不重复
--select rand(n)	--固定数字
   select rand(1)
   
--power(a,b):a的b次方
select power(2,3)--2*2*2=8
select POWER(4,3)--4*4*4=64

☆系统函数:

类型转换:

1.convert(类型,要转换的值)
2.cast(要转换的值 as 类型)

cast(stuage as varchar)
convert(varchar,stuage)

注:
此样式一般在时间类型(datetime,smalldatetime)与字符串类型(nchar,nvarchar,char,varchar)相互转换的时候才用到.

示例:

select '字符串'+10086 --报错

--在将 varchar 值 '字符串' 转换成数据类型 int 时失败。
--需要把int转换成字符串varchar

select '字符串'+convert(varchar(10),10086)--字符串10086
select '字符串'+convert(varchar(5),10086)--字符串10086
select '字符串'+convert(varchar(4),10086)--字符串*
select '字符串'+convert(varchar,10086)--字符串10086

select '字符串'+CAST(10086 as varchar)


select '今天的日期是' + getdate()--报错
--从字符串向 datetime 转换时失败。

--print --打印		日期->字符串 
print '今天的日期是' + convert(char,getdate())

日期函数可以指定转换格式 :

convert(数据类型,日期,格式数字)

select convert(varchar(20),getdate(),110)--mm-dd-yyyy
select convert(varchar(20),getdate(),101)--mm/dd/yyyy

格式数字:

格式数字 格式
101 mm/dd/yyyy
110 mm-dd-yyyy
100 或者 0 mon dd yyyy hh:miAM (或者 PM)
101 mm/dd/yy
102 yy.mm.dd
103 dd/mm/yy
104 dd.mm.yy
105 dd-mm-yy
106 dd mon yy
107 Mon dd, yy
108 hh:mm:ss
109 或者 9 mon dd yyyy hh:mi:ss:mmmAM(或者 PM)
110 mm-dd-yy
111 yyyy/mm/dd
112 yyyymmdd
113 或者 13 dd mon yyyy hh:mm:ss:mmm(24h)
114 hh:mi:ss:mmm(24h)
120 或者 20 yyyy-mm-dd hh:mi:ss(24h)
121 或者 21 yyyy-mm-dd hh:mi:ss.mmm(24h)
126 yyyy-mm-ddThh:mm:ss.mmm(没有空格)
130 dd mon yyyy hh:mi:ss:mmmAM
131 dd/mm/yy hh:mi:ss:mmmAM

博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3