Sqlserver函数小集

来源:互联网 发布:sql保留2位小数的函数 编辑:程序博客网 时间:2024/05/16 17:41
 ***function(/*常用函数*/)***  
   
  ----统计函数----  
  AVG         --求平均值  
  COUNT       --统计数目  
  MAX         --求最大值  
  MIN         --求最小值  
  SUM         --求和  
   
  --AVG  
  use   pangu  
  select   avg(e_wage)   as   dept_avgWage  
  from   employee  
  group   by   dept_id  
   
  --MAX  
  --求工资最高的员工姓名  
  use   pangu  
  select   e_name  
  from   employee  
  where   e_wage   =  
  (select   max(e_wage)  
      from   employee)  
   
  --STDEV()  
  --STDEV()函数返回表达式中所有数据的标准差  
   
  --STDEVP()  
  --STDEVP()函数返回总体标准差  
   
  --VAR()  
  --VAR()函数返回表达式中所有值的统计变异数  
   
  --VARP()  
  --VARP()函数返回总体变异数  
   
  ----算术函数----  
   
  /***三角函数***/  
  SIN(float_expression)   --返回以弧度表示的角的正弦  
  COS(float_expression)   --返回以弧度表示的角的余弦  
  TAN(float_expression)   --返回以弧度表示的角的正切  
  COT(float_expression)   --返回以弧度表示的角的余切  
  /***反三角函数***/  
  ASIN(float_expression)   --返回正弦是FLOAT   值的以弧度表示的角  
  ACOS(float_expression)   --返回余弦是FLOAT   值的以弧度表示的角  
  ATAN(float_expression)   --返回正切是FLOAT   值的以弧度表示的角  
  ATAN2(float_expression1,float_expression2)    
                  --返回正切是float_expression1   /float_expres-sion2的以弧度表示的角  
  DEGREES(numeric_expression)  
                                                --把弧度转换为角度返回与表达式相同的数据类型可为  
                  --INTEGER/MONEY/REAL/FLOAT   类型  
  RADIANS(numeric_expression)   --把角度转换为弧度返回与表达式相同的数据类型可为  
                  --INTEGER/MONEY/REAL/FLOAT   类型  
  EXP(float_expression)     --返回表达式的指数值  
    LOG(float_expression)     --返回表达式的

自然对数值  
  LOG10(float_expression)--返回表达式的以10   为底的对数值  
  SQRT(float_expression)   --返回表达式的平方根  
  /***取近似值函数***/  
  CEILING(numeric_expression)     --返回>=表达式的最小整数返回的数据类型与表达式相同可为  
                  --INTEGER/MONEY/REAL/FLOAT   类型  
  FLOOR(numeric_expression)         --返回<=表达式的最小整数返回的数据类型与表达式相同可为  
                  --INTEGER/MONEY/REAL/FLOAT   类型  
  ROUND(numeric_expression)         --返回以integer_expression   为精度的四舍五入值返回的数据  
                  --类型与表达式相同可为INTEGER/MONEY/REAL/FLOAT   类型  
  ABS(numeric_expression)             --返回表达式的绝对值返回的数据类型与表达式相同可为  
                  --INTEGER/MONEY/REAL/FLOAT   类型  
    SIGN(numeric_expression)           --测试参数的正负号返回0   零值1   正数或-1   负数返回的数据类型  
                  --与表达式相同可为INTEGER/MONEY/REAL/FLOAT   类型  
  PI()               --返回值为π   即3.1415926535897936  
  RAND([integer_expression])       --用任选的[integer_expression]做种子值得出0-1   间的随机浮点数  
   
   
  ----字符串函数----  
  ASCII()                   --函数返回字符表达式最左端字符的ASCII   码值  
  CHAR()       --函数用于将ASCII   码转换为字符  
          --如果没有输入0   ~   255   之间的ASCII   码值CHAR   函数会返回一个NULL   值  
  LOWER()       --函数把字符串全部转换为小写  
  UPPER()       --函数把字符串全部转换为大写  
  STR()       --函数把数值型数据转换为字符型数据  
  LTRIM()       --函数把字符串头部的空格去掉  
  RTRIM()       --函数把字符串尾部的空格去掉  
  LEFT(),RIGHT(),SUBSTRING()     --函数返回部分字符串  
  CHARINDEX(),PATINDEX()     --函数返回字符串中某个指定的子串出现的开始位置  
  SOUNDEX()     --函数返回一个四位字符码    
          --SOUNDEX函数可用来查找声音相似的字符串但SOUNDEX函数对数字和汉字均只返回0   值            
  DIFFERENCE()         --函数返回由SOUNDEX   函数返回的两个字符表达式的值的差异  
          --0   两个SOUNDEX   函数返回值的第一个字符不同  
          --1   两个SOUNDEX   函数返回值的第一个字符相同  
          --2   两个SOUNDEX   函数返回值的第一二个字符相同  
          --3   两个SOUNDEX   函数返回值的第一二三个字符相同  
          --4   两个SOUNDEX   函数返回值完全相同  
                                                                                 
   
  QUOTENAME()     --函数返回被特定字符括起来的字符串  
  /*select   quotename('abc',   '{')   quotename('abc')  
    运行结果如下  
  ----------------------------------{  
  {abc}   [abc]*/  
   
  REPLICATE()           --函数返回一个重复character_expression   指定次数的字符串  
  /*select   replicate('abc',   3)   replicate(   'abc',   -2)  
  运行结果如下  
  -----------   -----------  
  abcabcabc   NULL*/  
   
  REVERSE()               --函数将指定的字符串的字符排列顺序颠倒  
  REPLACE()               --函数返回被替换了指定子串的字符串  
  /*select   replace('abc123g',   '123',   'def')  
  运行结果如下  
  -----------   -----------  
  abcdefg*/  
   
  SPACE()       --函数返回一个有指定长度的空白字符串  
  STUFF()       --函数用另一子串替换字符串指定位置长度的子串  
   
   
  ----数据类型转换函数----  
  CAST()   函数语法如下  
  CAST()   (<expression>   AS   <data_   type>[   length   ])  
  CONVERT()   函数语法如下  
  CONVERT()   (<data_   type>[   length   ],   <expression>   [,   style])  
   
  select   cast(100+99   as   char)   convert(varchar(12),   getdate())  
  运行结果如下  
  ------------------------------   ------------  
  199       Jan   15   2000  
   
  ----日期函数----  
  DAY()       --函数返回date_expression   中的日期值  
  MONTH()       --函数返回date_expression   中的月份值  
  YEAR()       --函数返回date_expression   中的年份值  
  DATEADD(<datepart>   ,<number>   ,<date>)    
          --函数返回指定日期date   加上指定的额外日期间隔number   产生的新日期  
  DATEDIFF(<datepart>   ,<number>   ,<date>)  
          --函数返回两个指定日期在datepart   方面的不同之处  
  DATENAME(<datepart>   ,   <date>)     --函数以字符串的形式返回日期的指定部分  
  DATEPART(<datepart>   ,   <date>)     --函数以整数值的形式返回日期的指定部分  
  GETDATE()     --函数以DATETIME   的缺省格式返回系统当前的日期和时间  
   
  ----系统函数----  
    APP_NAME()             --函数返回当前执行的应用程序的名称  
  COALESCE()     --函数返回众多表达式中第一个非NULL   表达式的值  
  COL_LENGTH(<'table_name'>,   <'column_name'>)   --函数返回表中指定字段的长度值  
  COL_NAME(<table_id>,   <column_id>)       --函数返回表中指定字段的名称即列名  
  DATALENGTH()   --函数返回数据表达式的数据的实际长度  
  DB_ID(['database_name'])   --函数返回数据库的编号  
  DB_NAME(database_id)     --函数返回数据库的名称  
  HOST_ID()           --函数返回服务器端计算机的名称  
  HOST_NAME()           --函数返回服务器端计算机的名称  
  IDENTITY(<data_type>[,   seed   increment])   [AS   column_name])  
  --IDENTITY()   函数只在SELECT   INTO   语句中使用用于插入一个identity   column列到新表中  
  /*select   identity(int,   1,   1)   as   column_name  
  into   newtable  
  from   oldtable*/  
  ISDATE()     --函数判断所给定的表达式是否为合理日期  
  ISNULL(<check_expression>,   <replacement_value>)   --函数将表达式中的NULL   值用指定值替换  
  ISNUMERIC()     --函数判断所给定的表达式是否为合理的数值  
  NEWID()       --函数返回一个UNIQUEIDENTIFIER   类型的数值  
  NULLIF(<expression1>,   <expression2>)  
    --NULLIF   函数在expression1   与expression2   相等时返回NULL   值若不相等时则返回expression1   的值


 

//==================================================================================//


print   left   ('lsdfjjfsldfj',4)------左边开始位数  
  go  
  print   right('gdfgfdg',3)---右边开始位数  
  go  
  print   len('sdfhlsd;f')--位数  
  go  
  print   lower('DFSDFGSDFG')---大写变小写  
  go  
  print   upper('sdfdsgds')--小写变大写  
  go  
  print   upper('sdafasdf')---显示    
  go  
  print   ltrim   ('     sdfdsf       ')--左边空格  
  go  
  print   rtrim   ('     dfg         ')----右边空格  
  go  
  print   'sdfas'+space(5)+'sdfd'-----space空格  
  go  
  print   substring('sdfsdfsd',3,3)---取子串  
  go  
  print   replace('sadfsadf','df','999999')-----替换  
  go  
  print   patindex('%sd%','fasdfsdfrgt')-------返回查找到的位数  
  go  
  print   replicate('good!',6)----复制  
  go  
  print   reverse('123456789')--反转  
  go  
  print   stuff('123456789',3,4,'yyyyyy')----替换指定位数  
  go  
  print   str(123.23,7,2)--数字变字符  
  print   str(123.9452345,10,1)--  
  go