zoukankan      html  css  js  c++  java
  • SQLServer 之 常用函数及查看

    一、查看

    (1)应用程序名称              SELECT APP_NAME()

    (2)获取登录者名字           SELECT SUSER_NAME()

    (3)获取字段定义的长度     SELECT COL_LENGTH('table', 'column')()

    (4)获取架构名                 SELECT OBJECT_SCHEMA_NAME(object_id [,database_id])

    (5)获取字段名称             SELECT COL_NAME(OBJECT_ID('object'), column_id)  //column_id从1开始

    (6)查看数据库                EXEC sp_helpdb

    (7)获取表的数据结构及相关信息    EXEC sp_help tableName

    (8)查看表信息                 EXEC sp_tables tableName

    (9)查看字段信息              EXEC sp_columns tableName

    (10)查看索引                  EXEC sp_helpIndex tableName

    (12)查看约束                  EXEC sp_helpConstraint tableName

    (13)查看存储过程/触发器            EXEC sp_helptext 'SP_Name'/'Trigger_Name'

    (14)查看触发器的属性      EXEC sp_helptrigger 'Trigger_Name'

    二、常用函数

    1、数学相关函数

    (1)ABS:ABS函数返回数值表达式的绝对值

    语法:ABS(numeric_expression)可以是整型、短整型、微短整型、小数、浮点数、货币、实型或小货币型数。

    (2)ACOS:ACOS函数是一个数学函数,它返回以弧度表示的角度,即:ARCCOS。

    语法:ACOS(float_expression)变量是浮点数数据类型,表示角度的余弦。

    (3)ASIN:反正弦函数。SIN:正弦值。 COS:余弦值。

    语法:SIN( float_expression)float_expression是浮点型;

    语法:COS( float_expression)float_expression是浮点型。

    (4)TAN:正切值。 COT:余切值。ATAN:反正切函数。

    (5)SIGN:如果表达式为正,SIGN函数返回1,如果表达为负,SIGN返回-1,如果表达式为0,则函数返回0。

    (6)CEILING:返回不小于给定的数值表达式的最小整数。

    语法:CEILING(numeric_expression)小数、浮点、整数、实数、货币等类型。

    例如:SELECT CEILING(1.45)返回值为2

    SELECT CEILING (-1.45)返回值为-1

    (7)FLOOR:返回不大于给定的数值表达式的最大整数。

    语法:FLOOR(numeric_expression)小数、浮点、整数、实数、货币等类型。

    例如:SELECT FLOOR(1.45)返回值为1

    SELECT FLOOR (-1.45)返回值为-2

    (8)ASCII:ASCII函数返回整数,表示字符表达式最左边的字符的ASCII代码值。

    语法:ASCII(character_expression)

    例:ASCII(‘AB’)返回65。

    (9)EXP:返回以E为底的N次幂。

    语法:EXP(float_expression)

    例如:EXP(0)返回值为1。

    (10)LOG:LOG函数返回浮点表达式的自然对数。

    语法:LOG(float_expression)

    (11)LOG10:LOG函数返回浮点表达式的以10为底的对数值。

    语法:LOG10(float_expression)

    (12)ROUND:ROUND返回给出的数学表达式的,并四舍五入至指定的精度。

    语法:Round(numeric_expression,length[,funcion])

    变量:numeric_expression为数值型表达式

    length是四舍五入的精度,小数点后边的数,当为负值时,数字表达式在小数点左边进行四舍五入。

    Function值为0时表达式四舍五入,如果不为0,将数字表达式舍位。

    (13)SQUARE:求平方

    语法:Square(float_expression)

    (14)SQRT:求平方根

    语法:SQRT(float_expression)

    /***  常用聚合函数  ***/

    (15)AVG:AVG是个集合函数,它计算数值列的平均值,忽略空值,如果使用了DISTINCT则对重复的值只取一次进行平均。

    语法;AVG([All|Distinct] expression)ALL是缺省值。

    例如:SELECT Distinct(AGE)FROM TABLE1 如果任意行有NULL值,则此行被忽略。

    (16)COUNT:是一个集合函数,它返回的整数代表表达式中值的个数通常为一个列,Distinct和Count一起使用时,返回单一值的个数。

    语法:COUNT({[All|Distinct] Expression |*})

    例如:SELECT  COUNT(Column_Name)FROM  Table,

    返回COLUMN1中没有空值的行数,如果是使用*将返回表中所有行的数目。

    使用Distinct则返回唯一值的个数。

    (17)SUM:SUM是一个集合函数,返回表格中选定的数值型列中的值的总和。

    语法:SUM([All| Distinct]expression)

    (18)MAX:MAX返回表达式中的最大值,

    语法:MAX(expression)

    (19)MIN:MIN返回表达式中的最小值,

    语法:MIN(expression)

    2、日期相关函数

    2.1 GETDATE:GETDATE是一个函数,它返回系统日期和时间。

      语法:GETDATE()  返回值示例:2016-08-24 13:32:06.497

    2.2 DATEADD:DateAdd返回根据日期时间添加的日期,

      语法:DateAdd(datepart,number,date)

      变量:DatePart是用于计算的日期单位(year,month,day);Number是指添加至日期变量中的日期单位数;Date:格式化为日期的字符串,或日期时间型的列名、变量或参数。

      例如:Select  DateAdd(DAY,7,GetDate())

    2.3 DATEDIFF:返回两个指定日期的日期单位差别。

      语法:DateDiff(datepart,date,date)

      例如:DATEDIFF(day,datevar,getdate())

      返回值为datevar和当前日期相差的天数。

    2.4 DATEPART:返回的整数表示日期中的日期单位。

      语法:Datepart(datepart,date)

      例如:DATEPART(month,getdate())

      返回值为当前日期的月份数。

    2.5 YEAR:显示所提供日期的年,MONTH:显示所提供日期的月,DAY:显示所提供日期的天,

      语法:Year(Date), Month(Date),  Day(Date)

    3、类型转换函数

    3.1 CAST:CAST语句用来进行数据类型的转换。

      语法:CAST(expression  AS  datatype)

      例如:CAST(MYDATE AS VARCHAR)

      把MYDATE 转换成可变字符类型。

    3.2 CONVERT:用来进行数据类型的转换。

      语法:Convert(data_type,expression)

      例如:SELECT ‘my birthday is today’+convert(varchar(12),getdate( ))

      把日期转换成字符串类型,用加号与前边相连。

    4、字符相关函数

    4.1 CHAR:字符串函数,用于将ASCII码整数转换为字符。

      语法:CHAR(integer_expression)变量是0~255间的正整数。

      例如:CHAR(65)返回‘A’

    4.2 CharIndex:字符串函数,从指定位置开始查找,返回想要的查找字符在目标字符串中的起始位置。

      语法:CharIndex('Pattern',Expression,[StartLocation]);

      例如:CharIndex('A','BCDEA',2)返回值为5,其2为从第几个字符进行搜索(不写默认为从第一个位置)。

    4.3 STR:可以将数值型转换为字符型,允许控制小数的格式。

      语法:STR(float_expression[,length[,decimal]])

      变量:length:想要的字符串的总长度。缺省为10。

      decimal:是小数点右边的位数。四舍五入。如果不写长度则为取整,小数后四舍五入。

    4.4 ISNULL:ISNULL可有非空类型代替NULL,如果expression为NULL,则返回value;否则返回expression。

      语法:IsNull(expression,value) 例如:Select IsNull(NULL,'ABC')

    4.5 LEFT/RIGHT:LEFT/RIGHT函数返回字符表达式从左边/右边开始的给定的字节数。如果该整数是一个负数, 就返回NULL。

      语法:Left/Right(character_expression,integer_expression)

      变量:character_expression可以是变量、常量、或表中的列。Integer_expression为要返回的字符数。

    4.6 LEN:LEN函数提供了字符串表达式中的字符的长度。

      语法:LEN(string_expression) 例如:LEN('ABCE')值为4

    4.7 LOWER:LOWER函数将大写字符转换为小写字符。

      语法:Lower(character_expression)  变量是字符表达式。

    4.8 UPPER:UPPER函数将小写字符转换为大写字符。

      语法:Upper(character_expression)  变量是字符表达式。

    4.9 REVERSE:REVERSE返回字符串表达式的倒序。

      语法:Reverse(character_expression)  例如:REVERSE('PAM')结果为'MAP'

    4.10 LTRIM:LTRIM删除字符表的前导空格。

      语法:LTRIM(character_expression)  变量是字符表达式。

    4.11 RTRIM:RTRIM删除字符表的后继空格。

      语法:RTRIM(character_expression)  变量是字符表达式。

    4.12 NULLIF:如果一对表达式相等,NULLIF函数就返回NULL,如果它们不相等,NULLIF函数就返回第一个表达式的值。

      语法:NullIf(expression1,expression2) 变量:expression可以数值型,也可以是字符串。

      例如:SELECT NULLIF(134,135)返回值为134。

    4.13 PI:PI()函数返回pi的值3.1415926

    4.14 REPLACE:REPLACE用串表达式3取代串表达式1中的表达式2。

      语法:REPLACE(string_expression, string_pattern, string_replacement)

      例如:SELECT REPLACE('mydog','dog','car'),用car取代了mydog中的dog,结果为mycar。

    4.15 STUFF:函数可以将表达式的一部分用所提供的另一个字符串替代,替代部分用起始位置和长度来定义。

      语法:STUFF(character_expression,start,length,character_expression)

      length:是决定要替换的字符数。 

      例如:STUFF('MY DOG FIDO', 8, 4, 'SALLY')结果为 MY DOG SALLY

    4.16 SUBSTRING:返回字符型的一部分。

      语法:SubString(expression,start,length)

      例如:SUBSTRING('MICROSOFT', 6, 4), 返回SOFT。

    4.17 REPLICATE:REPLICATE将字符串表达式复制用户定义的次数。

      语法:REPLICATE(string_expression, integer-expression)

      例如:REPLICATE('2',5)

    5、函数积累

    5.1 ROW_NUMBER() OVER()函数  

    5.1.1 ROW_NUMBER() OVER(ORDER BY colName DESC)

      将数据记录按照 colName字段排序后,为每一行记录赋予行号。

    5.1.2 ROW_NUMBER() OVER (PARTITION BY colName1 ORDER BY colName2)

      首先,根据 colName1 分组;然后,在分组内部根据 colName2 排序;而此函数计算的值就表示每组内部排序后的顺序编号(组内连续的唯一的)。

  • 相关阅读:
    UOJ.26.[IOI2014]Game(交互 思路)
    Good Bye 2016 F.New Year and Finding Roots(交互)
    Codeforces.835E.The penguin's game(交互 按位统计 二分)
    Codeforces.744B.Hongcow's Game(交互 按位统计)
    Codeforces.862D.Mahmoud and Ehab and the binary string(交互 二分)
    正睿OI 提高 Day1T3 ZYB玩字符串(DP)
    划分vlan
    2三层交换机实现vlan间的路由
    交换机基础-交换机远程telnet
    自动化运维环境的搭建问题处理
  • 原文地址:https://www.cnblogs.com/xinaixia/p/4548614.html
Copyright © 2011-2022 走看看