oracle实现mysql的if_【原创】ORACLE的几个函数在MYSQL里面的简单实现
david_yeung关注1人评论652人阅读2012-08-13 12:02:55
最忌在做ORACLE到MYSQL得迁移,以下我写了三个简单的MYSQL里面米有的函数。 供大家参考。
判断是否为时间?
DELIMITER $$
USE `ytt`$$
DROP FUNCTION IF EXISTS `is_date`$$
CREATE DEFINER=`root`@`localhost` FUNCTION `is_date`(
f_in CHAR(19)) RETURNS TINYINT(4)
BEGIN
-- Created by david.yang 2012/8/9.
IF UNIX_TIMESTAMP(f_in) = 0 THEN
RETURN 0;
ELSE
RETURN 1;
END IF;
END$$
DELIMITER ;
判断是否为数字?
DELIMITER $$
USE `ytt`$$
DROP FUNCTION IF EXISTS `is_number`$$
CREATE DEFINER=`root`@`localhost` FUNCTION `is_number`(
f_in VARCHAR(255)) RETURNS TINYINT(4)
label1:BEGIN
-- Created by david.yang 2012/8/9.
DECLARE cnt INT UNSIGNED DEFAULT 0;
DECLARE i INT UNSIGNED DEFAULT 1;
DECLARE j INT UNSIGNED DEFAULT 0;
SET cnt = LENGTH(f_in);
loop1:WHILE i < cnt
DO
SET j = ASCII(SUBSTR(f_in,i,1));
IF j < 48 OR j > 57 THEN
RETURN 0;
LEAVE label1;
END IF;
SET i = i + 1;
END WHILE loop1;
RETURN 1;
END$$
DELIMITER ;
ORACLE to_date 函数的MYSQL实现。
DELIMITER $$
USE `ytt`$$
DROP FUNCTION IF EXISTS `to_date`$$
CREATE DEFINER=`root`@`localhost` FUNCTION `to_date`(
f_date VARCHAR(30), f_format VARCHAR(30)
) RETURNS VARCHAR(30) CHARSET utf8
BEGIN
-- '20-08-2011 22:55:02', 'dd-mm-yyyy hh24:mi:ss'
-- '02-11-2011', 'dd-mm-yyyy'
-- Created by david.yang 2012/8/9.
DECLARE i_year CHAR(4);
DECLARE i_month CHAR(2);
DECLARE i_day CHAR(2);
DECLARE i_time CHAR(8);
SET i_year = SUBSTR(f_date,7,4);
SET i_month = SUBSTR(f_date,4,2);
SET i_day = LEFT(f_date,2);
IF LENGTH(f_date) = 10 THEN
SET i_time = '';
ELSE
SET i_time = RIGHT(f_date,8);
END IF;
RETURN CONCAT(i_year,'-',i_month,'-',i_day,' ',i_time);
END$$
DELIMITER ;
©著作权归作者所有:来自51CTO博客作者david_yeung的原创作品,如需转载,请注明出处,否则将追究法律责任
ORACLEMYSQLINNODBSQL语句与特殊技巧
oracle实现mysql的if_【原创】ORACLE的几个函数在MYSQL里面的简单实现相关推荐
- oracle对同义词的解释,[原创]oracle同义词解释
7.8 同义词 同义词是对象的备选名称,如果对象存在同义词,那么任何sql语句都能通过实际名称或通过同义词来访问该对象.同义词看上去似乎没什么作用,然而实际情况并非如此.使用同义词意味着应用程序可以对 ...
- mysql lambda查询_从NodeJS AWS Lambda函数查询MySQL数据库
我在AWS Lambda函数中查询我的 MySQL数据库(从AWS远程托管)时遇到问题. 这是我的代码,除了Lambda函数的其余部分所需的部分(正在为Alexa技能调用): var mysql = ...
- Mysql,SqlServer,Oracle主键自动增长的设置
Mysql,SqlServer,Oracle主键自动增长的设置 参考文献 http://blog.csdn.net/andyelvis/article/details/2446865 1.把主键定义为 ...
- mysql $区别_mysql 与oracle区别
http://blog.csdn.net/huanghm88/article/details/8009048 本章来源 http://www.jb51.net/article/34414.htm 其他 ...
- Mysql UTF8 varchar与Oracle ZHS16GBK varchar2同长度下存汉字的差异
目录 1简介... 1 2 准备... 1 2.1 环境说明... 1 3 安装... 2 4 配置... 2 5 使用... 3 5.1 验证实验... 3 5.2 问题分析... 5 6 延展.. ...
- oracle里有limit怎么用,[ORACLE]ORACLE 实现mysql中的limit 功能
[ORACLE]ORACLE 实现mysql中的limit 功能 项目从mysql迁移到ORACLE中遇到移植问题,mysql中支持limit 而ORACLE say no . 解决方法 利用ORAC ...
- mysql插入日期 vs oracle插入日期
今天做oracle日期插入的时候突然开始疑惑日期是如何插入的. 用框架久了,反而不自己做简单的工作了.比如插入. 通常,新建一个表对象,然后绑定数据,前端form提交,后端getModel后直接mod ...
- mysql中if在oracle怎么用_MySql和Oracle的使用
本文档是一个记录文档,会不定时更新使用过程中遇到的差异问题 本文档记录MySql和Oracle在使用中要注意的问题,也包括两者使用上的差异问题 字符串拼接函数 CONCAT MySql MySql的 ...
- db2 mysql sql server_下文给大家介绍mysql数据库介绍,具体详情如下所示:MySQL数据库:Oracle、DB2、SQL Server、MySQL、access、mang...
下文给大家介绍mysql数据库介绍,具体详情如下所示: MySQL 数据库: Oracle.DB2.SQL Server.MySQL.access.mangodb.bigtable 关系型数据库 大型 ...
最新文章
- linux vsftp的配置
- SpringBoot开发接口
- 读:[你必须知道的.NET] 第五回:深入浅出关键字---把new说透
- java提取图片中的文字,深入分析
- 第十一节:JavaScript有了一种全新的数据类型:Symbol
- ganlgia-rrdcached
- 事务的传播行为和隔离级别?
- Forget Yourself
- ORACLE EBS CUX用户的创建(转)
- 创建hadoop 归档文件
- 今天的C位,必须是这位浙大卜教授!
- PR剪辑视频工作流程 大剪辑师分享的高级视频编辑技巧
- Windows安装WSL详解
- IOS开发学习资料集合(开发必备)
- Unity游戏开发中大数值显示问题
- Rabbitmq安装过程(使用docker)
- 计算机组成原理——8086 CPU寄存器
- 最小二乘法曲线拟合 C语言实现
- 成熟的 XMOS 方案 ——「 XMOS 麦克风阵列 」
- 1.PostgreSQL下载安装
热门文章
- SQL中的表 与关系数据库
- Dell Caps Lock 切换大小写被窃取焦点问题解决办法
- C++:听说C++很难学?该怎么学习C++?
- centos linux下vnc server远程桌面配置详解,CentOS 6.0 VNC远程桌面配置
- max无法创建新的堆栈防护页面_交互设计师,新媒体艺术家们请注意:2019MaxMSP必读书单来袭!...
- STM32----SysTick实现监控开机时长
- JMG | 基因PRKG2的变异导致骨骼表型异常
- 哪里有2003系统服务器,服务器2003系统
- STM32H743+CubeMX-定时器TIM输出PWM(Out Compare模式) + 中断
- plaintextedit指定一行一行的高亮显示_LED显示器常见芯片的作用及原理,故障诊断维修...