sql函数

SQL中MAX()和MIN()函数的使用

痞子三分冷 提交于 2019-12-26 16:04:33
在 SQL 数据库中,最大/最小值函数—MAX()/MIN()是经常要用到的,下面就将为您分别介绍MAX()函数和MIN()函数的使用,供您参考,希望对您学习SQL数据库能有些帮助。 当需要了解一列中的最大值时,可以使用MAX()函数;同样,当需要了解一列中的最小值时,可以使用MIN()函数。语法如下。 SELECT MAX (column_name) / MIN (column_name) FROM table_name 说明:列column_name中的数据可以是数值、字符串或是日期时间数据类型。MAX()/MIN()函数将返回与被传递的列同一数据类型的单一值。 实例7 MAX()函数的使用 查询TEACHER表中教师的最大年龄。实例代码: SELECT MAX (AGE) AS MAXAGE FROM TEACHER 运行结果如图1示。 图1TEACHER表中教师的最大年龄 然而,在实际应用中得到这个结果并不是特别有用,因为经常想要获得的信息是具有最大年龄的教师的教工号、姓名、性别等信息。 然而SQL不支持如下的SELECT语句。 SELECT TNAME, DNAME, TSEX, MAX (AGE) FROM TEACHER 因为聚合函数处理的是数据组,在本例中,MAX函数将整个TEACHER表看成一组,而TNAME、DNAME和TSEX的数据都没有进行任何分组

Oracle易忘知识点记录

一个人想着一个人 提交于 2019-12-26 03:09:00
1、 SQL Select语句完整的执行顺序: ①from子句组装来自不同数据源的数据; ②where子句基于指定的条件对记录行进行筛选; ③group by子句将数据划分为多个分组; ④使用聚集函数进行计算; ⑤使用having子句筛选分组; ⑥计算所有的表达式; ⑦使用order by对结果集进行排序。 ⑧select 集合输出。 Having与Where的区别 * where 子句的作用是在对查询结果进行分组前,将不符合where条件的行去掉,即在分组之前过滤数据,where条件中不能包含聚组函数,使用where条件过滤出特定的行。 * having 子句的作用是筛选满足条件的组,即在分组之后过滤数据,条件中经常包含聚组函数,使用having 条件过滤出特定的组,也可以使用多个分组标准进行分组。 2、 创建索引(CREATE INDEX)时,将索引分配到专门的索引空间;对于有实时数据改变的表,需要在最后加上online关键字,就不会阻塞DML语句。 CREATE INDEX index_nm ON table_nm(col_nm) TABLESPACE tablespace_nm ONLINE; 3、其他 在sql脚本中创建存储过程时,存储过程部分代码结束后,在其下一行加一个反斜杠 / ,表示存储过程结束,防止oracle将下面的其他sql语句当成存储过程的一部分。

MySql 和Server Sql的差异

雨燕双飞 提交于 2019-12-25 03:11:21
MySql 和 Server Sql 的差异 1 、自增长列的插入: SQLServer 中可以不为自动增长列插入值, MySQL 中需要为自动增长列插入值。 2 、获取当前时间函数 : SQLServer 写法: getdate() MySQL 写法: now() 3 、从数据库定位到表。 Sqlserver 写法:库名 .dbo. 表名 ;或者:库名 .. 表名 (注:中间使用两个点) select password from Info.dbo.users where userName='boss' 或者 select password from Info..users where userName='boss' mysql 写法:库名 . 表名 select password from Info.users where userName='boss' 4 、判断是否存在某个数据库,若存在,则删除 Sqlserver 写法: IF DB_ID('users') IS NOT NULL DROP DATABASE users Mysql 写法: Drop DATABASEif exists users 拓展:若 sqlserver 数据库正在使用中,删除之前,先要把数据库变成 “ 单一用户 ” ,再删除 ALTER DATABASE users SET SINGLE_USER

SQL中 patindex函数的用法

妖精的绣舞 提交于 2019-12-24 10:49:17
语法格式:PATINDEX ( '%pattern%' , expression ) 返回pattern字符串在表达式expression里第一次出现的位置,起始值从1开始算。 pattern字符串在expression表达式里没找就返回0,对所有有效的文本和字符串就是有效的数据类型。 描述一下此函数的具体用法: 1. PATINDEX ( '%pattern%' , expression ) '%pattern%'的用法类似于 like '%pattern%'的用法,也就是模糊查找其pattern字符串是否是expression找到,找到并返回其第一次出现的位置。 如: select patindex('�b%','abcaabbeeabb') 结果5,也就是abb第一次出现的位置。 2.PATINDEX ( '%pattern' , expression ) '%pattern' 类似于 like '%pattern'的用法,前面用模糊查找,也就是查找pattern的结束所在expression的位置,也就是从后面匹配起查找。 如: select patindex('�b','abcaabbeeabb') 返回10,也就是abb在后面第一次出现的位置。 select patindex('�b','abcaabbeeabbr') 返回0,后面的第一个字母r和abb不匹配

SQL Server函数大全

依然范特西╮ 提交于 2019-12-24 00:12:09
--聚合函数 use pubs go select avg(distinct price) --算平均数 from titles where type='business' use pubs go select max(ytd_sales) --最大数 from titles use pubs go select min(ytd_sales) --最小数 from titles use pubs go select type,sum(price),sum(advance) --求和 from titles group by type order by type use pubs go select count(distinct city) --求个数 from authors use pubs go select stdev(royalty) --返回给定表达式中所有值的统计标准偏差 from titles use pubs go select stdevp(royalty) --返回表达式中所有制的填充统计标准偏差 from titles use pubs go select var(royalty) --返回所有值的统计方差 from titles use pubs go select varp(royalty) --返回所有值的填充的统计方差 from titles -

sql server 常用函数

不羁的心 提交于 2019-12-23 12:55:30
Sql Server基本函数 1.字符串函数 长度与分析用 datalength(Char_expr) 返回字符串包含字符数,但不包含后面的空格 substring(expression,start,length) 不多说了,取子串 right(char_expr,int_expr) 返回字符串右边int_expr个字符 字符操作类 upper(char_expr) 转为大写 lower(char_expr) 转为小写 space(int_expr) 生成int_expr个空格 replicate(char_expr,int_expr)复制字符串int_expr次 reverse(char_expr) 反转字符串 stuff(char_expr1,start,length,char_expr2) 将字符串char_expr1中的从start开始的length个字符用char_expr2代替 ltrim(char_expr) rtrim(char_expr) 取掉空格 ascii(char) char(ascii) 两函数对应,取ascii码,根据ascii吗取字符 字符串查找 charindex(char_expr,expression) 返回char_expr的起始位置 patindex("%pattern%",expression) 返回指定模式的起始位置,否则为0 2

SQL Server UDF用户自定义函数

柔情痞子 提交于 2019-12-22 14:50:51
UDF的定义   和存储过程很相似,用户自定义函数也是一组有序的T-SQL语句,UDF被预先优化和编译并且尅作为一个单元爱进行调用。UDF和存储过程的主要区别在于返回结果的方式。   使用UDF时可传入参数,但不可传出参数。输出参数的概念被更为健壮的返回值取代了。和系统函数一样,可以返回标量值,这个值的好处是它并不像在存储过程中那样只限于整形数据类型,而是可以返回大多数SQL Server数据类型。   UDF有以下两种类型:   返回标量值的UDF。   返回表的UDF。   创建语法: CREATE FUNCTION [<schema name>.]<function name> ( [ <@parameter name> [AS] [<schema name>.]<data type> [= <default value> [READONLY]] [,...n] ] ) RETURNS { <scalar type> | TABLE [(<table definition>)] } [ WITH [ENCRYPTION] | [SCHEMABINDING] | [RETURNS NULL ON NULL INPUT | CALLED ON NULL INPUT ] | [EXECUTE AS {CALLER|SELF|OWNER|<'user name'>}] [AS] {

转:EF调用存储过程、函数

ε祈祈猫儿з 提交于 2019-12-22 00:58:15
public int AddVote( int titleId, int blockId, int typeId) { List<SqlParameter> paramArray = new List<SqlParameter>(); paramArray.Add( new SqlParameter( "@titleId", titleId)); paramArray.Add( new SqlParameter( "@blockId", blockId)); paramArray.Add( new SqlParameter( "@typeId", typeId)); SqlParameter param = new SqlParameter( "@num", SqlDbType.Int); param.Direction = ParameterDirection.Output; paramArray.Add(param); using (RPDBContext db = new RPDBContext()) { try { db.Database.ExecuteSqlCommand( "EXEC [AddVote] @blockId,@titleId,@typeId,@num out", paramArray.ToArray()); } catch (Exception ex) {

sql isnull函数的使用

喜夏-厌秋 提交于 2019-12-21 20:59:06
sql isnull函数的使用 ISNULL 使用指定的替换值替换 NULL。 语法 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。 示例 A. 将 ISNULL 与 AVG 一起使用 下面的示例查找所有书的平均价格,用值 $10.00 替换 titles 表的 price 列中的所有 NULL 条目。 USE pubs GO SELECT AVG(ISNULL(price, $10.00)) FROM titles GO 下面是结果集: -------------------------- 14.24 (1 row(s) affected) B. 使用 ISNULL 下面的示例为 titles 表中的所有书选择书名

SQL语句——02、字符类型函数

坚强是说给别人听的谎言 提交于 2019-12-20 12:53:42
介绍字符型如下函数 ASCII('字符') 返回字符的ASCII码值 idle> select ASCII('a') from dual; ASCII('A') ---------- 97 idle> select ASCII('A') from dual; ASCII('A') ---------- 65 idle> CHR('n') 返回n的字符值 n是ASCII码数 idle> select chr(65) from dual; C - A idle> select chr(39) from dual; C - ' idle> 但是求单引号的ASCII码写法很特殊 两个单引带表一个单引 idle> select ASCII(''') from dual; ERROR: ORA-01756: quoted string not properly terminated idle> select ASCII('''') from dual; ASCII('''') ----------- 39 idle> LOWER(列名|表达式) 小写转换 idle> select lower('ABC') from dual; LOW --- abc idle> UPPER(列名|表达式) 大写转换 idle> select upper('abc') from dual; UPP ---