sql 常用函数

--数值函数
--上线值 ,整数不变,整数部分加1
select CEILING(6.5)
--下线值,整数不变,小数去掉
select floor (6.5)
--指数幂
select POWER(3,2)
--34:	整数   56:小数  1 四舍五入保留的位数
SELECT ROUND(34.56,1)
--产生随机数0~1
SELECT RAND(2)



select exp(123.4)

--取绝对值
SELECT  ABS (-123)



--字符串

declare @a varchar(10)

set @a=' abcde  '
--len不会计算尾部空格的长度
select LEN(@a)


--去空格
select LTRIM(' sasa ') 
select rtrim(' saa ')
 --全去空格
 print LTRIM(rtrim(' s aa '))--=s aa不能去除中间的空格
-- 字符相加
 print('asd'+'asd')
-- 在数字和字符串相加时,先将字符串转换成数字再进行相加计算   在sql中数字有高的优先级
 print('22'+123)
 --查找字符   查找的内容+范围+查找的起始位置  如果查寻超出查找范围返回值为0 c##返回-1
 select CHARINDEX('d','sadfddd',3)
 
 
  select CHARINDEX('a','sabdf')
  --截取
  --(内容,截取起始位置,截取位数)
  print SUBSTRING(' AB CDEF ',0,5)
  --起始位置可以小于零 c##里面可  --不会计算尾部长度
  print SUBSTRING('ABCDEF',0,20)
  
  
  
--从左开始截取
  select left('ABCDEF',7)
  --从右开始截取 
   print right('ABCDEF',4)
   
   --转换成小写
   select LOWER('aASFD汉字')
   --转化成小写(输入 车牌号(全是大写))
   select UPPER('zxcvbnm')
   --翻转()
   select REVERSE('asdfg') 
   --替换
    print REPLACE('QWERWTY','W',' ')
    --返回左边第一个字母ascii码
    select ASCII('i')
    --一个汉字两个字节
    
     select ASCII('字')
     
     
     --ascii转成字符
    select CHAR('99')
    
    --获取当前时间()
    declare @dt datetime
 
    select @dt =  getdate()
    --获取当前时间
    SELECT YEAR(@dt),MONTH(@dt),DAY(@dt)  
    
    --根据指定年月  进行加减
    
    select DATEADD(YEAR,2,GETDATE())
    
    select DATEADD(WK,2,GETDATE())
    
    select DATEADD(DAY,2,GETDATE())
    
    select YEAR(@dt),MONTH(@dt),DAY(@dt)    
    
    select DATEDIFF(YY,1,GETDATE()),DATEADD(YY,-1,GETDATE())
    

 

posted @ 2015-08-24 22:34  人走茶亦凉  阅读(213)  评论(0)    收藏  举报