sql函数

SQL 查询

半腔热情 提交于 2019-12-13 01:11:01
查询数据(SELECT)(重点/掌握) 基本查询语句的语法 select * from 表名;—默认查询所有字段的数据 select 字段1,字段2,字段3 from 表名; —查询指定的字段的数据 DISTINCT —去除掉重复的关键字 可以在查询的时候进行运算 SELECT username,math+10,english+10,chinese+10 FROM stu; 用as的关键字,起别名查询 查询语句可以使用as的关键字,起别名。 别名的真正的用法,采用的多表的查询,为了区分每张表,表起个别名。 as的关键字可以省略不写,中间需要使用空格。 一般都是给表来起别名 select s.username,s.math from stu s; select s.username,u.username from stu s.user u 使用where的条件语句,进行查询条件的过滤。 练习 创建表做练习 CREATE TABLE stu ( id int(11) NOT NULL AUTO_INCREMENT, username varchar(20) DEFAULT NULL, math int(11) DEFAULT NULL, english int(11) DEFAULT NULL, chinese int(11) DEFAULT NULL, PRIMARY KEY (id

[读书笔记] SQL必知必会

爷,独闯天下 提交于 2019-12-12 07:26:05
SQL必知必会 文章目录 SQL必知必会 检索相关注意点 检索去重数据关键字——DISTINCT 检索从第N行开始检索前M行数据 三种注释方式 排序相关注意点 排序方向 过滤数据 WHERE子句操作符 组合WHERE子句 AND、OR逻辑操作符 IN操作符 NOT操作符 用通配符进行过滤 百分号通配符(%) 下划线(_)通配符 方括号([ ])通配符 计算字段 拼接字段 算术运算 使用函数 文本处理函数 数值处理函数 聚集函数 聚集不同值 组合聚集函数 数据分组 过滤分组 分组和排序 子查询 作为计算阻断使用字符串 联结 使用表别名 不同类型的联结 使用带聚集函数的联结 组合查询 UNION关键字 数据插入 事物处理 游标 索引 检索相关注意点 检索去重数据关键字——DISTINCT DISTINCT关键字指示数据库只返回不同值,若使用DISTINCT关键字,必须放在列名前面。DISTINCT关键字作用于所有列。 SELECT DISTINCT * FROM TABLE ; 检索从第N行开始检索前M行数据 SQL SERVER: SELECT TOP 5 column FROM table ; ORACLE: SELECT cloumn FROM table WHERE ROWNUM <= 5 ; MySQL,MariaDB,PostgreSQL或者SQLite: SELECT

hive SQL(HQL)葵花宝典

只谈情不闲聊 提交于 2019-12-11 04:47:19
hive SQL(HQL)葵花宝典 1. 基本数据类型 2.基础运算符与函数 3. 内置运算符 3.1关系运算符 3.2算术运算符 3.3逻辑运算符 3.4复杂类型函数 4.类型转换n 5.日期函数 5.1取年月日时分秒(格式化) 5.2获取今天时间(格式可以自定义) 5.3计算年龄 5.4年月日拼接 5.5总结 6.条件函数 7.常用字符串函数 1. 基本数据类型 tinyint , smallint, int, bigint, float, double, boolean: true/false, string 2.基础运算符与函数 A IS NULL 空 A IS NOT NULL 非空ro A LIKE B 模糊匹配 A RLIKE B 正则表达式匹配 A REGEXP B 正则表达式匹配 SELECT '211' REGEXP '\\d.+', '211' REGEXP '\\D.+', 'abc' REGEXP '\\d.+', 'abc' REGEXP '\\D.+' 运行结果 true false false true 3. 内置运算符 3.1关系运算符 3.2算术运算符 3.3逻辑运算符 3.4复杂类型函数 待定 4.类型转换n cast(expr as <type>) 例如: cast('1' as BIGINT) 将字符串'1'转化成bigint型 5

SQL Server系统函数:日期函数

余生长醉 提交于 2019-12-10 23:46:46
原文: SQL Server系统函数:日期函数 1、返回当前日期和时间 select GETDATE() '当前日期-精确到33毫秒' select GETUTCDATE() 'UTC日期和时间-精确到33毫秒' select SYSDATETIME() '当前日期和时间-精确到100纳秒(高精度)' select SYSUTCDATETIME() 'UTC-精确到100纳秒(高精度)' select SYSDATETIMEOFFSET()'当前日期与UTC之间的差值(时分)' 2、转换偏移,从一个转为另一个,从UTC-05:00转为UTC+03:00: '2007-08-12 10:20:35.9788989'是UTC减去'05:00'之后算出来的, 所以UTC是'2007-08-12 10:20:35.9788989'加'05:00', 也就是'2007-08-12 15:20:35.9788989', 然后'2007-08-12 15:20:35.9788989'加上'03:00', 也就是'2007-08-12 18:20:35.9788989' select SWITCHOFFSET('2007-08-12 10:20:35.9788989 -05:00','+03:00') 将普通的日期时间型转为日期时间偏移,只是在日期时间后增加了offset值,返回:2007-08

PL/SQL学习笔记六:存储函数和过程

萝らか妹 提交于 2019-12-10 06:59:04
ORACLE提供可以把PL/SQL程序存储在数据库中,并可以在任何地方来运行它。这样就叫存储过程或函数。过程和函数统称为PL/SQL子程序,他们是被命名的PL/SQL块。均存储在数据库中,并通过输入、输出参数或输入/输出参数与其调用者交换信息。过程和函数的唯一区别是函数总向调用者返回数据,而过程则不返回数据。 创建函数 1、建立内嵌函数 语法如下: CREATE [OR PEPLACE] FUNCTION function_name [(argment[{IN | IN OUT}] type, argment[{IN | OUT | IN OUT}] type)] RETURN return_type {IS | AS} <类型.变量的说明> BEGIN FUNCTION_body EXCEPTION 其它语句 END; 2、内嵌函数的调用 函数声明时所定义的参数称为刑事参数,应用程序调用时为函数传递的参数称为实际参数。应用程序在调用函数时,可以使用以下三种方法向函数传递参数: 第一种参数传递格式称为位置表示法,格式为:argument_value1[,argument_value2 ...]; 第二种参数传递格式称为位置表示法,格式为:argument => parameter[...],其中argument为形式参数,它必须与函数定义时所声明的形式参数名称相同

SQL聚合函数

ぃ、小莉子 提交于 2019-12-10 03:24:29
聚合函数对一组值计算后返回单个值。除了count(统计项数)函数以外,其他的聚合函数在计算式都会忽略空值(null)。所有的聚合函数均为确定性函数。即任何时候使用一组相同的输入值调用聚合函数执行后的返回值都是相同的,无二义性。T-SQL提供的聚合函数一共有13个之多。   聚合函数通常会在下列场合使用:    1、select语句的选择列表,包括子查询和外部查询。    2、使用compute或compute by产生汇总列时。    3、having子句对分组的数据记录进行条件筛选。 聚合函数    1、平均值AVG  AVG函数用于计算精确型或近似型数据类型的平均值,bit类型除外,忽略null值。AVG函数计算时将计算一组数的总和,然后除以为null的个数,得到平均值。  语法结构:   avg( [ all | distinct ] expression )    all:为默认值,表示对所用的数据都计算平均值。  distinct:每个值的唯一值计算平均值,不管相同的值出现多次,多个行相同的值仅仅出现一次作为计算。  expression:精确或近似值的表达式。表达式内部不允许使用子查询和其他聚合函数。  示例:   select avg(distinct age) from person -- 查询person表里的年龄的平均值,相同值只计算一次    2、最小值MIN

【SQL】sql去除字符串首尾空格

夙愿已清 提交于 2019-12-09 16:17:22
说起去除字符串首尾空格大家肯定第一个想到trim()函数,不过在sqlserver中是没有这个函数的,却而代之的是ltrim()和rtrim()两个函数。看到名字所有人都知道做什么用的了,ltrim()去除字符串左边的空格,rtrim()去除字符串右边的空格,要去除首尾空格同时使用这个两个函数就好了。 测试: [sql] view plain copy select ltrim( ' test ' ) --去除左边的空格 select rtrim( ' test ' ) --去除右边的空格 select ltrim(rtrim( ' test ' )) --去除首尾空格 结果: 右侧的空格已经被去除了,但是在这里看不出来,把数据复制出来就能发现空格已经被去除了. 来源: CSDN 作者: happydecai 链接: https://blog.csdn.net/happydecai/article/details/80744136

sql 高级(七)(null 值,isnull()、nvl()、ifnull()、coalesce)

对着背影说爱祢 提交于 2019-12-07 20:21:03
SQL IS NULL 仅仅选取在 "Address" 列中带有 NULL 值的记录 select LastName,FirstName,Address FROM Persons where Address is null 结果集: LastName FirstName Address Adams John Carter Thomas 提示:请始终使用 IS NULL 来查找 NULL 值。 SQL IS NOT NULL 使用 IS NOT NULL 操作符: select LastName,FirstName,Address FROM Persons where Address is not null 结果集: LastName FirstName Address Bush George Fifth Avenue SQL isnull()、nvl()、ifnull() 和 coalesce() 函数 P_Id ProductName UnitPrice UnitsInStock UnitsOnOrder 1 computer 699 25 15 2 printer 365 36 3 telephone 280 159 57 假如 "UnitsOnOrder" 是可选的,而且可以包含 NULL 值。 使用如下 SELECT 语句: SELECT ProductName

SQL优化--使用分析函数

≡放荡痞女 提交于 2019-12-07 15:55:44
前段时间在 http://www.itput.net/ 看到 一篇文章, http://www.itpub.net/thread-1031306-1-4.html 提到一个SQL语句: 建立环境: create table t_emp(id numeric(10) ,name varchar(10), salary numeric(10,2)); 插入数据: insert into t_emp values(1,'jack',10000.50); insert into t_emp values(2,'jack2',8000.50); insert into t_emp values(3,'jack3',120000); insert into t_emp values(4,'jack4',5000); insert into t_emp values(5,'jack5',3000); 要求:取出t_emp表中salary列中第2高的人和倒数第2高的人SQL语句。用一条SQL语句取出来 一般的写法如下: select * from (select emp.*, row_number() over (order by salary asc) as rank from t_emp emp) t where rank=2 union all select * from (select

Oracle PL/SQL常用函数列表

爱⌒轻易说出口 提交于 2019-12-06 17:37:45
常用字符函数 函数 描述 LOWER(char) 将字符串表达式 char 中的所有大写字母转换为小写字母 UPPER(char) 将字符串表达式 char 中的所有小写字母转换为大写字母 INITCAP(char) 首字母转换成大写 SUBSTR(char,start,length) 返回字符串表达式 char 中从第 start 开始的 length 个字符 LENGTH(char) 返回字符串表达式 char 的长度 LTRIM(char) 去掉字符串表达式 char 后面的空格 ASCII(char) 取 char 的 ASCII 值 CHAR(number) 取 number 的 ASCII 值 REPLACE(char,str1,str2) 将字符串中所有 str1 换成 str2 INSTR(char1,char2,start,times) 在 char1 字符串中搜索 char2 字符串, start 为执行搜索操作的起始位置, times 为搜索次数 常用日期函数 函数 描述 SYSDATE 返回系统当前日期和时间 NEXT_DAY(day,char) 返回 day 指定的日期之后并满足 char 指定条件的第一个日期, char 所指条件只能为星期几 LAST_DAY(day) 返回 day 日期所指定月份中最后一天所对应的日期 ADD_MONTH(day,n)