SQL函数整理

来源:互联网 发布:小意思tpo for mac 编辑:程序博客网 时间:2024/04/30 09:27

SQL函数

1、convert()
     定义:(1)把日期转换为新数据类型的通用函数
           (2)可以用不同的格式显示日期/时间数据
     语法:convert(data_type(length),data_to_be_converted,style)
     参数:data_type(length) 规定目标数据类型(带有可选的长度)。data_to_be_converted 含有需要转换的值。style 规定日期/时间的输出格式
   实例: CONVERT(VARCHAR(24),GETDATE(),113)
   结果:29 Dec 2008 16:25:46.635
2、upper()
   定义:返回字符串,根据当前字符集映射的所有字符更改为大写。
   实例:upper('Allah')
   结果:ALLAH
3、lower()
   定义:返回根据当前字符集映射所有字符改变为小写,即返回小写的字符串。
4、isnull()
   定义:使用指定的替换值替换 NULL
         微软的 ISNULL() 函数用于规定如何处理 NULL 值。
         NVL(), IFNULL() 和 COALESCE() 函数也可以达到相同的结果。
   语法:ISNULL ( check_expression , replacement_value )
   参数:check_expression 将被检查是否为 NULL的表达式。check_expression 可以是任何类型的。
   replacement_value 在 check_expression 为 NULL时将返回的表达式。replacement_value 必须与 check_expresssion 具有相同的类型。
    返回类型:返回与 check_expression 相同的类型
    注释:如果 check_expression 不为 NULL,那么返回该表达式的值;否则返回 replacement_value。
5、row_number() over 
   开窗函数  
6、avg()
   定义:AVG 函数返回数值列的平均值。NULL 值不包括在计算中。
   语法:select avg(column_name)from table_name
7、count()
   定义:COUNT(column_name) 函数返回指定列的值的数目(NULL 不计入)
   语法:select count(column_name)from table_name
8、first()
   定义:FIRST() 函数返回指定的字段中第一个记录的值
   提示:可使用 ORDER BY 语句对记录进行排序。
   语法:select first(column_name)from table_name
9、last()
   定义:LAST() 函数返回指定的字段中最后一个记录的值。
    提示:可使用 ORDER BY 语句对记录进行排序
    语法:select last(column_name)from table_name
10、max()
    定义:MAX 函数返回一列中的最大值。NULL 值不包括在计算中。
    语法:select max(column_name)from table_name
    注释:MIN 和 MAX 也可用于文本列,以获得按字母顺序排列的最高或最低值。
11、min()
    定义:MIN 函数返回一列中的最小值。NULL 值不包括在计算中。
    语法:select min(column_name)from table_name
    注释:MIN 和 MAX 也可用于文本列,以获得按字母顺序排列的最高或最低值。
12、sum()
    定义:SUM 函数返回数值列的总数(总额)
    语法:select sum(column_name)from table_name
13、group by
    定义:GROUP BY 语句用于结合合计函数,根据一个或多个列对结果集进行分组
    语法:SELECT column_name, aggregate_function(column_name)  FROM table_name
WHERE column_name operator value
GROUP BY column_name
14、having
    在 SQL 中增加 HAVING 子句原因是,WHERE 关键字无法与合计函数一起使用。
    语法:SELECT column_name, aggregate_function(column_name)
FROM table_name
WHERE column_name operator value
GROUP BY column_name
HAVING aggregate_function(column_name) operator value 
    实例:select Customer,sum(OrderPrice) from Orders
group by Customer
having sum(OrderPrice)<2000
15、ucase()
    定义:UCASE 函数把字段的值转换为大写。
    语法:SELECT UCASE(column_name) FROM table_name
16、lcase()
    定义:LCASE 函数把字段的值转换为小写。
    语法:SELECT LCASE(column_name) FROM table_name
17、mid()
    定义:MID 函数用于从文本字段中提取字符
    语法:SELECT MID(column_name,start[,length]) FROM table_name
    参数:         描述:
   column_name     必需,要提取字符的字段
   start           必需,规定开始位置(起始值是1)
   length          可选,要返回的字符串,如果省略,则mid()函数返回剩余文本。
18、len()
     定义:LEN 函数返回文本字段中值的长度
     语法:SELECT LEN(column_name) FROM table_name
19、round()
     定义:ROUND 函数用于把数值字段舍入为指定的小数位数。舍入为最接近的整数
     语法:SELECT ROUND(column_name,decimals) FROM table_name
     参数:          描述:
     column_name     必需,要舍入的字段
     decimals        必需,规定要返回的小数位数
20、now()
    定义:NOW 函数返回当前的日期和时间。
    提示:提示:如果您在使用 Sql Server 数据库,请使用 getdate() 函数来获得当前的日期时间
    语法:SELECT NOW() FROM table_name
21、format()
    定义:FORMAT 函数用于对字段的显示进行格式化
    语法:SELECT FORMAT(column_name,format) FROM table_name
     参数:         描述:
     column_name    必需,要格式化的字段
     format         必需,规定格式
     实例:SELECT ProductName, UnitPrice, FORMAT(Now(),'YYYY-MM-DD') as PerDate
FROM Products


/*****/
inner join、left join、right join和full join区别

    INNER JOIN(JOIN): 如果表中有至少一个匹配,则返回行
    LEFT JOIN: 即使右表中没有匹配,也从左表返回所有的行
    RIGHT JOIN: 即使左表中没有匹配,也从右表返回所有的行
    FULL JOIN: 只要其中一个表中存在匹配,就返回行

SQL增加列、修改列、删除列
1 增加列:
 alter table tableName add columnName varchar(30)
2.1 修改列类型
 alter table tableName alter column columnName varchar(30)
2.2  修改列名称
  exec sp_rename 'tableName.column1','column2'
 (把表名tableName的column1列名修改为column2)
3  删除列
  alter table tableName drop column columnName

SQL Server dateadd()
 语法:DATEADD(datepart,number,date)
 date 参数是合法的日期表达式。number 是您希望添加的间隔数;对于未来的时间,此数是正数,对于过去的时间,此数是负数
 实例:向 "OrderDate" 添加 2 天,这样就可以找到付款日期
SELECT OrderId,DATEADD(day,2,OrderDate) AS OrderPayDate
FROM Orders




0 0
原创粉丝点击