SET monthgap = PERIOD_DIFF(CONCAT(YEAR(enddate),DATE_FORMAT(enddate,'%m')),CONCAT(YEAR(begindate),DATE_FORMAT(begindate,'%m')));
-- select EXTRACT(YEAR_MONTH FROM "1999-07-02 01:02:03");
俩月间隔
一.字符串类
CHARSET(str) //返回字串字符集
CONCAT (string2 [,... ]) //连接字串
INSTR (string ,substring ) //返回substring首次在string中出现的位置,不存在返回0
LCASE (string2 ) //转换成小写
LEFT (string2 ,length ) //从string2中的左边起取length个字符
LENGTH (string ) //string长度
LOAD_FILE (file_name ) //从文件读取内容
LOCATE (substring , string [,start_position ] ) 同INSTR,但可指定开始位置
LPAD (string2 ,length ,pad ) //重复用pad加在string开头,直到字串长度为length
LTRIM (string2 ) //去除前端空格
REPEAT (string2 ,count ) //重复count次
REPLACE (str ,search_str ,replace_str ) //在str中用replace_str替换search_str
RPAD (string2 ,length ,pad) //在str后用pad补充,直到长度为length
RTRIM (string2 ) //去除后端空格
STRCMP (string1 ,string2 ) //逐字符比较两字串大小,
SUBSTRING (str , position [,length ]) //从str的position开始,取length个字符,
注:mysql中处理字符串时,默认第一个字符下标为1,即参数position必须大于等于1
mysql> select substring(’abcd’,0,2);
+———————–+
| substring(’abcd’,0,2) |
+———————–+
| |
+———————–+
1 row in set ( sec)
mysql> select substring(’abcd’,1,2);
+———————–+
| substring(’abcd’,1,2) |
+———————–+
| ab |
+———————–+
1 row in set ( sec)
TRIM([[BOTH|LEADING|TRAILING] [padding] FROM]string2) //去除指定位置的指定字符
UCASE (string2 ) //转换成大写
RIGHT(string2,length) //取string2最后length个字符
SPACE(count) //生成count个空格
二.数学类
ABS (number2 ) //绝对值
BIN (decimal_number ) //十进制转二进制
CEILING (number2 ) //向上取整
CONV(number2,from_base,to_base) //进制转换
FLOOR (number2 ) //向下取整
FORMAT (number,decimal_places ) //保留小数位数
HEX (DecimalNumber ) //转十六进制
注:HEX()中可传入字符串,则返回其ASC-11码,如HEX(’DEF’)返回4142143
也可以传入十进制整数,返回其十六进制编码,如HEX(25)返回19
LEAST (number , number2 [,..]) //求最小值
MOD (numerator ,denominator ) //求余
POWER (number ,power ) //求指数
RAND([seed]) //随机数
ROUND (number [,decimals ]) //四舍五入,decimals为小数位数]
注:返回类型并非均为整数,如:
(1)默认变为整形值
mysql> select round();
+————-+
| round() |
+————-+
| 1 |
+————-+
1 row in set ( sec)
mysql> select round();
+————-+
| round() |
+————-+
| 2 |
+————-+
1 row in set ( sec)
(2)可以设定小数位数,返回浮点型数据
mysql> select round(7,2);
+—————-+
| round(7,2) |
+—————-+
| |
+—————-+
1 row in set ( sec)
SIGN (number2 ) //返回符号,正负或0
SQRT(number2) //开平方
三.日期时间类
ADDTIME (date2 ,time_interval ) //将time_interval加到date2
CONVERT_TZ (datetime2 ,fromTZ ,toTZ ) //转换时区
CURRENT_DATE ( ) //当前日期
CURRENT_TIME ( ) //当前时间
CURRENT_TIMESTAMP ( ) //当前时间戳
DATE (datetime ) //返回datetime的日期部分
DATE_ADD (date2 , INTERVAL d_value d_type ) //在date2中加上日期或时间
DATE_FORMAT (datetime ,FormatCodes ) //使用formatcodes格式显示datetime
DATE_SUB (date2 , INTERVAL d_value d_type ) //在date2上减去一个时间
DATEDIFF (date1 ,date2 ) //两个日期差
DAY (date ) //返回日期的天
DAYNAME (date ) //英文星期
DAYOFWEEK (date ) //星期(1-7) ,1为星期天
DAYOFYEAR (date ) //一年中的第几天
EXTRACT (interval_name FROM date ) //从date中提取日期的指定部分
MAKEDATE (year ,day ) //给出年及年中的第几天,生成日期串
MAKETIME (hour ,minute ,second ) //生成时间串
MONTHNAME (date ) //英文月份名
NOW ( ) //当前时间
SEC_TO_TIME (seconds ) //秒数转成时间
STR_TO_DATE (string ,format ) //字串转成时间,以format格式显示
TIMEDIFF (datetime1 ,datetime2 ) //两个时间差
TIME_TO_SEC (time ) //时间转秒数]
WEEK (date_time [,start_of_week ]) //第几周
YEAR (datetime ) //年份
DAYOFMONTH(datetime) //月的第几天
HOUR(datetime) //小时
LAST_DAY(date) //date的月的最后日期
MICROSECOND(datetime) //微秒
MONTH(datetime) //月
MINUTE(datetime) //分
附:可用在INTERVAL中的类型
DAY ,DAY_HOUR ,DAY_MINUTE ,DAY_SECOND ,HOUR ,HOUR_MINUTE ,HOUR_SECOND ,MINUTE ,MINUTE_SECOND,MONTH ,SECOND ,YEAR
分享到:
相关推荐
原创sql存储过程函数范例,一是为了自己方便查找,今天到公司因为没有我保存的一些范例,一个简单的例子写了半个小时,如果有范例直接套几分钟肯定搞定,所以索性上传到CSDN上,何时何地都能找到我的范例了。...
在SQL Server中,存储过程和函数是数据库管理与开发中的重要组成部分,它们为数据库操作提供了高效、可重用和安全的途径。以下是关于SQL Server存储过程和函数的一些常用知识点: 1. **存储过程(Stored Procedures...
本文将深入探讨“postgres 存储过程函数”,并基于描述中的3层循环和内置函数来解析其相关知识点。 首先,存储过程是一种预编译的SQL代码集合,它可以封装一系列的操作,如DML(数据操纵语言)语句、事务控制、错误...
.NET 创建存储过程函数允许开发人员使用 C# 或 VB.NET 等 .NET 语言来编写 SQL Server 的存储过程、函数和触发器,而非传统的 T-SQL。SQL Server 2005 及更高版本支持与 .NET CLR(Common Language Runtime)的集成...
Oracle 存储过程函数和程序包 Oracle 存储过程函数和程序包是 Oracle 数据库中的一种核心组件,用于实现复杂的业务逻辑和数据处理。以下是 Oracle 存储过程函数和程序包的知识点总结: 一、游标的概念和类型 游标...
在这个"Oracle存储过程函数生成DEMO"中,我们主要关注如何在Oracle数据库环境中设计、编写、测试以及调用存储过程和函数。下面将详细阐述相关知识点。 1. **存储过程**: - 存储过程是一组预先编译的SQL语句,存储...
### PL/SQL程序设计——存储过程、函数与触发器 #### 概述 PL/SQL是一种专门为Oracle数据库设计的过程化语言,它结合了SQL的数据操纵功能和传统编程语言的流程控制功能,使得开发者能够在数据库环境中编写更为复杂...
适合sqlserver数据库初学者,实验四存储过程和函数实验
这些是平时个人兴趣爱好收集到的易飞ERP系统触发器/函数/储存过程/视图集。适合人群:系统管理员,运维专员或鼎捷顾问等
这份"oracle笔记(存储过程函数触发器游标流程控制等)"涵盖了Oracle数据库管理中的关键知识点,包括但不限于以下几个方面: 1. **存储过程与函数**:存储过程是预编译的SQL语句集合,用于执行特定任务。它们可以提高...
在IT领域,数据库是至关重要的组成部分,而存储过程和函数则是数据库管理中不可或缺的功能。本文将深入探讨这两种数据库对象,并结合“源码”和“工具”的标签,介绍它们在实际应用中的作用和重要性。 首先,存储...
存储过程,oracle写得简单存储过程函数,java环境
### Oracle存储过程、函数和包的关键知识点 #### 1. 存储过程和函数的认识 - **定义**:存储过程和函数是特定类型的PL/SQL块,它们被存储在数据库中,作为命名的对象存在。 - **命名存储**:与普通的PL/SQL块不同,...
根据提供的文件内容,本篇实验报告主要围绕MySQL数据库中存储过程和函数的应用,涵盖了创建存储过程、函数、游标以及异常处理等高级特性。下面将详细解析报告中的每个知识点。 1. 创建存储过程 存储过程是一种在...
根据提供的信息,我们可以深入探讨存储过程、存储函数与触发器的相关知识点。 ### 存储过程 存储过程是一种预编译的SQL代码块,它被存储在数据库中,并且可以通过简单的调用来执行复杂的逻辑操作。存储过程可以...
在某些复杂的数据处理场景下,我们可能需要调用数据库中的存储过程或函数。本文将详细阐述如何通过JDBC在Java程序中调用存储过程和函数,并提供一个实际的例子。 ### 1. JDBC概述 JDBC是Java API,它提供了统一的...
整理一个晚上的结果,自己有所提高,希望大家也能用得到
Oracle存储过程、函数和程序包是数据库管理中的关键概念,它们是PL/SQL编程的核心组成部分。存储过程是一种预编译的、命名的PL/SQL代码块,可以存储在数据库中,便于多次调用,提高效率并实现代码的模块化。在创建...
在Java编程中,调用Oracle数据库的存储过程和函数是常见的任务,这通常涉及到JDBC(Java Database Connectivity)API的使用。以下将详细介绍这个过程,包括必要的步骤、使用的类和方法,以及可能遇到的问题和解决...