sql函数

SQL中NVL函数

二次信任 提交于 2020-03-10 18:04:51
空值判断函数 1、NVL(表达式A,表达式B) 如果表达式A为空值,NVL返回值为表达式B的值,否则返回表达式A的值。该函数的目的是把一个空值(null)转换成一个实际的值。其表达式的值可以是数字型、字符型和日期型。但是表达式A和表达式B的数据类型必须为同一个类型。 例: nvl(clue_num,0):如果clue_num为空,则返回0;否则返回clue_num的值 2、NVL2(表达式A,表达式B,表达式C) 如果表达式A为空,则返回表达式C的值;如果表达式A不为空,则返回表达式B的值。 例: nvl(sex,0,1):如果sex为空,则返回1;否则返回0 来源: https://www.cnblogs.com/as-zhlan/p/10717853.html

几个有用的SQL函数

元气小坏坏 提交于 2020-03-08 10:13:01
1、把一张表中的数据插入另一张表中 insert into tA (A1,A2) select B1,B2 from tB 2、 dateadd 在向指定日期加上一段时间的基础上,返回新的 datetime 值。 语法 DATEADD ( datepart , number, date ) 参数 datepart 是规定应向日期的哪一部分返回新值的参数。下表列出了 Microsoft® SQL Server™ 识别的日期部分和缩写。 日期部分 缩写 Year yy, yyyy quarter qq, q Month mm, m dayofyear dy, y Day dd, d Week wk, ww Hour hh minute mi, n second ss, s millisecond ms number 是用来增加 datepart 的值。如果指定一个不是整数的值,则将废弃此值的小数部分。例如,如果为 datepart 指定 day,为 number 指定 1.75,则 date 将增加 1。 date 是返回 datetime 或 smalldatetime 值或日期格式字符串的表达式。有关指定日期的更多信息,请参见 datetime 和 smalldatetime。 如果您只指定年份的最后两位数字,则小于或等于"两位数年份截止期

SQL 必知必会·笔记<7>汇总数据——使用聚合函数

蓝咒 提交于 2020-03-07 05:23:55
有时候我们需要对表中的数据进行汇总,而不需要数据本身,为了方便这些类型的检索,SQL给出了5个聚合函数,SQL聚合函数在各主要的SQL实现中得到了相当一致的支持。如下: 1.1 AVG()函数 AVG() 通过对表中行数计数并计算其列值之和,求得该列的平均值 //AVG()示例: SELECT AVG(prod_price) AS avg_price FROM Products WHERE vend_id = 'DLL01'; 注意:只用于单个列 AVG()只能用来确定特定数值列的平均值,而且列名必须作为函数参 数给出。为了获得多个列的平均值,必须使用多个AVG()函数。 说明:NULL 值 AVG()函数忽略列值为NULL 的行。 1.2 COUNT()函数 COUNT() 可以确定表中行的数目或符合特定条件的行的数目。 COUNT()函数的两种使用方式 使用COUNT(*)对表中行的数目进行计数,不管表列中包含的是空值(NULL)还是非空值。 使用COUNT(column)对特定列中具有值的行进行计数,忽略NULL 值。 //示例 SELECT COUNT(*) AS num_cust FROM Customers; 说明:NULL 值 如果指定列名,则COUNT()函数会忽略指定列的值为空的行,但如果 COUNT()函数中用的是星号(*),则不忽略。 1.3 MAX()函数

Oracle 分析函数的使用

谁说胖子不能爱 提交于 2020-03-06 08:50:34
Oracle 分析函数的使用 Oracle 分析函数 使用介绍 分析函数 是oracle816引入的一个全新的概念,为我们分析数据提供了一种简单高效的处理方式.在 分析函数 出现以前,我们必须使用自联查询,子查询或者内联视图,甚至复杂的存储过程实现的语句,现在只要一条简单的sql语句就可以实现了,而且在执行效率方面也有相当大的提高.下面我将针对 分析函数 做一些具体的说明. 今天我主要给大家介绍一下以下几个函数的使用方法 1. 自动汇总函数rollup,cube, 2. rank 函数, rank,dense_rank,row_number 3. lag,lead函数 4. sum,avg,的移动增加,移动平均数 5. ratio_to_report报表处理函数 6. first,last取基数的 分析函数 基础数据 Code: [Copy to clipboard] 06:34:23 SQL> select * from t; BILL_MONTH AREA_CODE NET_TYPE LOCAL_FARE --------------- ---------- ---------- -------------- 200405 5761 G 7393344.04 200405 5761 J 5667089.85 200405 5762 G 6315075.96 200405

SQL Server系统函数

孤者浪人 提交于 2020-03-06 08:48:25
一、字符转换函数 1 、 ASCII () 返回字符表达式最左端字符的ASCII 码值。在ASCII()函数中,纯数字的字符串可不用‘’括起来,但含其它字符的字符串必须用‘’括起来使用,否则会出错。 2 、 CHAR () 将ASCII 码转换为字符。如果没有输入0 ~ 255 之间的ASCII 码值, CHAR () 返回NULL 。 3 、 LOWER ()和UPPER() LOWER ()将字符串全部转为小写; UPPER ()将字符串全部转为大写。 4 、 STR () 把数值型数据转换为字符型数据。 STR ( < float_expression > [ ,length[, <decimal> ] ]) length 指定返回的字符串的长度, decimal 指定返回的小数位数。如果没有指定长度,缺省的length 值为10, decimal 缺省值为0。 当length 或者decimal 为负值时,返回NULL; 当length 小于小数点左边(包括符号位)的位数时,返回length 个 * ; 先服从length ,再取decimal ; 当返回的字符串位数小于length ,左边补足空格。 二、去空格函数 1 、 LTRIM () 把字符串头部的空格去掉。 2 、 RTRIM () 把字符串尾部的空格去掉。 三、取子串函数 1 、 left () LEFT (

SQL 常用函数使用

喜欢而已 提交于 2020-03-05 21:30:01
DISTINCT Distinct 去重复。性能上和 GROUP BY 差异据说有点点优势,GROUP BY 存在毕竟不是用来去重的,GROUP BY 用作分组,当然可以做去重动作 select DISTINCT [列1],[列2]... from [数据库].[dbo].[表名] /* 结果: 返回 [列1] 和 [列2] ... 不重复记录 */ CHARINDEX charindex 取指定字符在字符串中的位置 SELECT CHARINDEX('ab','123456abcde'); /* 结果: 7 返回 ab 在 123456abcde 中的位置 */ // 结合表 SELECT CHARINDEX('ab',[列名]) as [abIndex],[列名] from [数据库].[dbo].[数据表] ; /* 查询数据表中,[列名] 列中每一行数据 'ab' 所在位置。 如果单元数据中不包含 'ab' 结果为 0 */ SUBSTRING Substring 截取字符 /****** Script for SelectTopNRows command from SSMS ******/ SELECT DISTINCT LTRIM(RTRIM(LOWER(SUBSTRING([列 0],0,CHARINDEX(':$',[列 0]))))) as [email], [列

sql--DQL_函数

巧了我就是萌 提交于 2020-03-02 11:38:32
一、函数的分类: 1、单行函数: 输入一行数据,每一行都会返回一个结果。 a、字符函数 :输入的是字符,返回的也是字符 常见的函数(upper 、lower、initcap首字母大写、concat、length(按字符来统计)、lengthb(按字节的方式来统计)、lengthc(按照的是unique码统计)、substr、instr、trim、ltrim、rtrim、replace b、数值函数:abs, mod, trunc, round, ceil ,floor c、日期函数 :输入的是一个日期返回的是日期或数值 sysdate , months_between (距某个日期相隔了几个月),add_months , next_day, last_day ,trunc d、转换函数 :to_char , to_number, to_date e、通用函数 :nvl , nvl2 ,nullif f、分支函数 : decode() ,case...when...then g、正则表达式函数 :regexp_substr,regexp_instr,regexp_like 2、多行函数/聚合函数/分组函数: 输入多行,返回的结果为一行 count(),sum(),avg()平均值,max(),min(),group by 分组, having 分组或筛选,rollup滚动函数

Sql 中常用日期转换Convert(Datetime)

我们两清 提交于 2020-03-02 11:22:47
CONVERT(data_type,expression[,style]) convert(varchar(10),字段名,转换格式) 说明: 此样式一般在时间类型(datetime,smalldatetime)与字符串类型(nchar,nvarchar,char,varchar) 相互转换的时候才用到. 语句 结果 SELECT CONVERT(varchar(100), GETDATE(), 0) 07 15 2009 4:06PM SELECT CONVERT(varchar(100), GETDATE(), 1) 07/15/09 SELECT CONVERT(varchar(100), GETDATE(), 2) 09.07.15 SELECT CONVERT(varchar(100), GETDATE(), 3) 15/07/09 SELECT CONVERT(varchar(100), GETDATE(), 4) 15.07.09 SELECT CONVERT(varchar(100), GETDATE(), 5) 15-07-09 SELECT CONVERT(varchar(100), GETDATE(), 6) 15 07 09 SELECT CONVERT(varchar(100), GETDATE(), 7) 07 15, 09 SELECT CONVERT

SQL总结

你。 提交于 2020-03-01 14:40:36
概要 SQL的增删改查操作的对象是数据库表中的记录 SQL语句的要素: 一是指明具体操作的关键字,insert、delete、update、select; 二是表名,缩小目标记录的范围; 三是条件表达式,对表中记录进行筛选,还可以对筛选出的结果进一步筛选; 四是操作的具体内容,查询和删除不需要指明操作内容,插入和更新需要指明具体的列名和值。 SQL增删改查的重点在于使用条件表达式对记录进行筛选 增删改查四种操作: 按是否对数据库数据有影响,可以分为查和增删改 按操作的记录是已经存在或不存在的,可以分为插入和删改查 按操作表的数量可以分为单表操作和多表操作 条件表达式对插入操作并不适用:insert语句操作的不是已经存在的记录,所有不需要对记录进行筛选的条件表达式,所以insert语句不能带where子句,insert语句可以结合IF、ELSE、NOT等结构实现条件插入。 该总结以MySQL为准,不同数据库系统之间存在差异 四种基本操作(单表不带条件) select语句 select 列名,列名 from 表名 select 列名 as 别名 from 表名 select * from 表名 select distinct 列名 from 表名 insert语句 insert into 表名 values (值,值......) insert into 表名 (列名,列名......

SQL Server系统函数

浪子不回头ぞ 提交于 2020-02-29 12:59:21
一、字符转换函数 1 、 ASCII () 返回字符表达式最左端字符的ASCII 码值。在ASCII()函数中,纯数字的字符串可不用‘’括起来,但含其它字符的字符串必须用‘’括起来使用,否则会出错。 2 、 CHAR () 将ASCII 码转换为字符。如果没有输入0 ~ 255 之间的ASCII 码值, CHAR () 返回NULL 。 3 、 LOWER ()和UPPER() LOWER ()将字符串全部转为小写; UPPER ()将字符串全部转为大写。 4 、 STR () 把数值型数据转换为字符型数据。 STR ( < float_expression > [ ,length[, <decimal> ] ]) length 指定返回的字符串的长度, decimal 指定返回的小数位数。如果没有指定长度,缺省的length 值为10, decimal 缺省值为0。 当length 或者decimal 为负值时,返回NULL; 当length 小于小数点左边(包括符号位)的位数时,返回length 个 * ; 先服从length ,再取decimal ; 当返回的字符串位数小于length ,左边补足空格。 二、去空格函数 1 、 LTRIM () 把字符串头部的空格去掉。 2 、 RTRIM () 把字符串尾部的空格去掉。 三、取子串函数 1 、 left () LEFT (