select函数

mysql 日期相差datediff函数

匿名 (未验证) 提交于 2019-12-02 22:06:11
#日期相差:datadiff,两个参数为时间类型 SELECT DATEDIFF('2019-2-28','2019-2-2'); SELECT DATEDIFF(MAX(hiredate),MIN(hiredate)) AS difference FROM employees; SELECT DATEDIFF(NOW(),'2012-12-2') ; 来源:51CTO 作者: wx5d21d5e6e5ab1 链接:https://blog.51cto.com/14437184/2436577

mysql 基本字符函数

匿名 (未验证) 提交于 2019-12-02 22:06:11
#查看当前字符集 SHOW VARIABLES LIKE '%char%'; #单行函数 USE myemployees; #字符函数 SELECT LENGTH('哈哈') #获取参数字节个数 SELECT CONCAT(last_name,'_',first_name) FROM employees; #字符串拼接 SELECT UPPER('aaa'); #转换成大写 SELECT LOWER('AAA'); #转换成小写 #mysql中索引位置从1开始,sbstr和substring效果一样 SELECT SUBSTR('李莫愁爱上了陆展元',7); #截取陆展元字符串,从7开始到之后所有 SELECT SUBSTR('李莫愁爱上了陆展元',1,3);#截取李莫愁,第二个数字表示长度 SELECT INSTR('杨不悔爱上了殷六侠','殷六侠') AS out_put;#返回子字符串在大字符串中第一次出现的起始索引位置,没有返回0 SELECT TRIM(' 张翠山 ') AS out_put; #去掉前后空格 SELECT TRIM('a' FROM 'aaaaa张aaa翠aaaaa山aaaaaa') AS out_put; #去掉前后指定字符,不能去掉中间的 SELECT LPAD('黄大侠',10,'*') AS out_put; #从左边填充*直到指定长度10

mysql instr()函数

匿名 (未验证) 提交于 2019-12-02 22:06:11
解析:string2 的值要在string1中查找,是从start_position给出的数值(即:位置)开始在string1检索,检索第nth_appearance(几)次出现string2。 注:在Oracle/PLSQL中,instr函数返回要截取的字符串在源字符串中的位置。 只检索一次 ,也就是说从字符的开始到字符的结尾就结束。 2)实例 格式一 1 select instr('helloworld','l') from dual; --返回结果:3 默认第一次出现“l”的位置 2 select instr('helloworld','lo') from dual; --返回结果:4 即:在“lo”中,“l”开始出现的位置 3 select instr('helloworld','wo') from dual; --返回结果:6 即“w”开始出现的位置 格式二 1 select instr('helloworld','l',2,2) from dual; --返回结果:4 也就是说:在"helloworld"的第2(e)号位置开始,查找第二次出现的“l”的位置 2 select instr('helloworld','l',3,2) from dual; --返回结果:4 也就是说:在"helloworld"的第3(l)号位置开始,查找第二次出现的“l”的位置 3

MySQL 获得 当前日期时间 函数

匿名 (未验证) 提交于 2019-12-02 22:02:20
mysql> select now(); 输出 2019-07-26 15:43:34 例子 mysql> select now(), sleep(3), now(); +---------------------+----------+---------------------+ | now() | sleep(3) | now() | +---------------------+----------+---------------------+ | 2008-08-08 22:28:21 | 0 | 2008-08-08 22:28:21 | +---------------------+----------+---------------------+ 参考: https://www.cnblogs.com/php12-cn/p/8882221.html

java面试三和数据库

匿名 (未验证) 提交于 2019-12-02 21:53:52
1.Git和SVN的区别 - git建立分支只是指针移动,是轻量级的。 svn需要拷贝原文件 - git支持分布式管理,SVN不支持分布式。 - git可以修改提交的历史,SVN不能 - 比如一个大文件上传失误了,git可以轻易的删除,SVN不可以,需要管理员的身份。 2.数据库 Oracle数据库 DB2数据库,是IBM公司的关系型数据库管理系统 Sybase数据库 SQL Server数据库,是微软的产品,运行在Windows NT服务器上 MySQL数据库,是开放源代码的小型关系型数据库管理系统(应用最广泛) 数据库:DB 数据库管理系统:DBMS (管理数据库的软件) 在数据库中,表的横排叫做“记录(行)” 表的列叫做“字段(列)” 关系数据库:描述两个元素间的关联或对应关系 关系数据库的分类:(依据表之间数据的关系来区分) 一对多 一对一 多对多 一个关系数据库由多个数据表组成,数据表是关系数据库的基本存储单位 SQL:结构化查询语言 SQL是在关系数据库上执行数据操作、检索及维护所使用的标准语言,可以用来 查询数据,操纵数据定义数据,控制数据。 SQL的分类: DDL(数据定义语句):用来操作数据库对象 创建表 数据库对象:表、视图、索引、序列 DML 增删表中的元素 TCL 维护DML的一致性 DQL 用来查询所需要的数据 * DCL 用来管理数据库 DDL 语句

eventfd(2) 结合 select(2) 分析

好久不见. 提交于 2019-12-02 18:46:18
本文代码选自内核 4.17 eventfd(2) - 创建一个文件描述符用于事件通知。 使用 源码分析 参考 #include <sys/eventfd.h> int eventfd(unsigned int initval, int flags); int eventfd2(unsigned int initval, int flags); 参数 - \initval 为初始值(关联内部结构的 count) - \flags 内核 2.6.26 之前的版本这个参数无效且必须指定为 0 flags 有意义的参数为 - EFD_CLOEXEC, 等效于 O_CLOEXEC - EFD_NONBLOCK, 等效于 O_NONBLOCK - EFD_SEMAPHORE, 信号量选项,影响 read(2) 的取值 返回 - 成功返回一个新的文件描述符,失败返回 -1 并设置 errno eventfd 作为一个非常简单的抽象文件,每个文件描述符都对应一个在内核空间维护的 __u64 count , 一个无符号64位整形的计数器,而eventfd对应的文件操作都与这个计数器相关。 提供的文件操作 read(2), 读取 count 减少的值,若flags设置 EFD_SEMAPHORE 则 count -= 1 , 否则 count -= count ; 函数成功返回 8 write(2),

MySQL 获得当前日期时间 函数

走远了吗. 提交于 2019-12-02 16:03:05
获得当前日期+时间(date + time)函数:now() mysql> select now(); +---------------------+ | now() | +---------------------+ | 2008-08-08 22:20:46 | +---------------------+ 获得当前日期+时间(date + time)函数:sysdate() sysdate() 日期时间函数跟 now() 类似,不同之处在于:now() 在执行开始时值就得到了, sysdate() 在函数执行时动态得到值。看下面的例子就明白了: mysql> select now(), sleep(3), now(); +---------------------+----------+---------------------+ | now() | sleep(3) | now() | +---------------------+----------+---------------------+ | 2008-08-08 22:28:21 | 0 | 2008-08-08 22:28:21 | +---------------------+----------+---------------------+ sysdate() 日期时间函数,一般情况下很少用到。

mysql创建使用存储过程

醉酒当歌 提交于 2019-12-02 14:48:53
mysql存储过程详解 1. 存储过程简介 我们常用的操作数据库语言 SQL 语句在执行的时候需要要先编译,然后执行,而存储过程( Stored Procedure )是一组为了完成特定功能的 SQL 语句集,经编译后存储在数据库中,用户通过指定存储过程的名字并给定参数(如果该存储过程带有参数)来调用执行它。 一个存储过程是一个可编程的函数,它在数据库中创建并保存。它可以有 SQL 语句和一些特殊的控制结构组成。当希望在不同的应用程序或平台上执行相同的函数,或者封装特定功能时,存储过程是非常有用的。数据库中的存储过程可以看做是对编程中面向对象方法的模拟。它允许控制数据的访问方式。 存储过程通常有以下优点: (1). 存储过程增强了 SQL 语言的功能和灵活性。存储过程可以用流控制语句编写,有很强的灵活性,可以完成复杂的判断和较复杂的运算。 (2). 存储过程允许标准组件是编程。存储过程被创建后,可以在程序中被多次调用,而不必重新编写该存储过程的 SQL 语句。而且数据库专业人员可以随时对存储过程进行修改,对应用程序源代码毫无影响。 (3). 存储过程能实现较快的执行速度。如果某一操作包含大量的 Transaction-SQL 代码或分别被多次执行,那么存储过程要比批处理的执行速度快很多。因为存储过程是预编译的。在首次运行一个存储过程时查询,优化器对其进行分析优化

sql中where和having的区别

拟墨画扇 提交于 2019-12-02 12:56:35
sql中where和having的区别 用的地方不一样 where可以用于select、update、delete和insert into values(select * from table where ..)语句中。 having只能用于select语句中 执行的顺序不一样 where的搜索条件是在执行语句进行分组之前应用 having的搜索条件是在分组条件后执行的 即如果where和having一起用时,where会先执行,having后执行 子句有区别 where子句中的条件表达式having都可以跟,而having子句中的有些表达式where不可以跟;having子句可以用集合函数(sum、count、avg、max和min),而where子句不可以。 总结 1.WHERE 子句用来筛选 FROM 子句中指定的操作所产生的行。 2.GROUP BY 子句用来分组 WHERE 子句的输出。 3.HAVING 子句用来从分组的结果中筛选行 来源: https://blog.csdn.net/weixin_44787000/article/details/102761228

mysql ifnull

旧时模样 提交于 2019-12-02 12:54:26
ifnull(field,0):如果field为null,则值为0; 先看下SELECT * FROM mytest.orders; 使用ifnull() select id,product,ifnull(price,0) from orders; oracle中使用 nvl() 函数达到一样的功能,mysql中没有nvl()函数。 来源: https://blog.csdn.net/xldmx/article/details/102761260