摘要 腾兴网为您分享:mysql自定义函数与动态查询,智学网,夜读小说,小睡眠,西餐菜谱等软件知识,以及猫语翻译器,江西校讯通,刷qq业务的网站,房洽洽,学士服照,爱站seo工具包,虚拟声卡驱动,隐藏分,卦象,供零在线永辉,七猫精品小说,海纳百川器,华尔街日报,双十一图片,中国地震信息网等软件it资讯,欢迎关注腾兴网。介绍下mysql自定义函数的例子,以及插入单引号的方法,动态执行查询与字符串拼接的相关内容。 1、mysql自定义函数的例子 mysql不能像oracle 一样写 动态SQL。 复制代码 代码示例: DROP f...

介绍下mysql自定义函数的例子,以及插入单引号的方法,动态执行查询与字符串拼接的相关内容。

1、mysql自定义函数的例子

mysql不能像oracle 一样写 动态SQL。

复制代码 代码示例:

DROP function IF EXISTS getTableMaxId;

delimiter //

CREATE FUNCTION getTableMaxId(table_name varchar(100))

returns int

READS SQL DATA

BEGIN

DECLARE V_ID int;

DECLARE V_COUNT int;

case

when (SELECT 'FEED' LIKE table_name)=1 then

SELECT COUNT(*) INTO V_COUNT FROM FEED;

IF (V_COUNT > 0) THEN

SELECT MAX(FEED_ID) INTO V_ID FROM FEED;

ELSE

SET V_ID = 0;

END IF;

when (SELECT 'FEED_PROVIDER' LIKE table_name)=1 then

SELECT COUNT(*) INTO V_COUNT FROM FEED_PROVIDER;

IF (V_COUNT > 0) THEN

SELECT MAX(FEED_PROVIDER_ID) INTO V_ID FROM FEED_PROVIDER;

ELSE

SET V_ID = 0;

END IF;

end case;

return V_ID;

END;

//

delimiter ;

2、mysql 官方文档:

http://dev.mysql.com/doc/refman/5.1/zh/index.html

3、mysql动态执行SQL

mysql 的自定义函数不能动态执行,只有存储过程可以。

复制代码 代码示例:

create table aa (id int);

delimiter //

create procedure test(v_sql varchar(200))

begin

set @sqltext:=concat('insert into aa ',v_sql);

prepare stmt from @sqltext;

execute stmt;

DEALLOCATE PREPARE stmt;

end;

//

call test('values (1)')//

4、插入单引号

\'

5、Mysql字符串相连接。

在MYSQL中,当用加号“+”连接两个字段(或者多个字段)时,MYSQL会尝试将字段值转换为数字类型(如果转换失败则认为字段值为0),然后进行字段的加法运算。因此,当计算的'12'+'33'时,MYSQL会将“12”和“33”两个字符串尝试转换为数字类型的12和33,然后计算12+33的值,这就是为什么我们会得到45的结果了。

同理,在计算FAge+'1'时,由于FAge为数字类型,所以不需要进行转换,而'1'为字符串类型,所以MYSQL将'1'尝试转换为数字1,然后计算FAge+1做为计算列的值。MYSQL会尝试将加号两端的字段值尝试转换为数字类型,如果转换失败则认为字段值为0。

在MYSQL中进行字符串的拼接要使用CONCAT函数,CONCAT函数支持一个或者多个参数,参数类型可以为字符串类型也可以是非字符串类型,对于非字符串类型的参数MYSQL将尝试将其转化为字符串类型,CONCAT函数会将所有参数按照参数的顺序拼接成一个字符串做为返回值。

例如,以下的sql,用于将用户的多个字段信息以一个计算字段的形式查询出来:

复制代码 代码示例:

SELECT CONCAT('工号为:',FNumber,'的员工的幸福指数:',FSalary/(FAge-21)) FROM T_Employee

相关推荐

mysql 自定义查询函数,mysql自定义函数与动态查询相关推荐

  1. mysql动态变量查询_MySQL将变量传递给动态查询

    对不起,如果这是一个基本问题! 直至现在我已经创造了PHP的MySQL查询和跨变量传递SQL调用中是这样的:MySQL将变量传递给动态查询 $myparam = $_GET["id_tbl& ...

  2. JPA 2.0 中的动态类型安全查询(如何通过 Criteria API 构建动态查询并减少运行时失败)...

    简介:  如果编译器能够对查询执行语法正确性检查,那么对于 Java 对象而言该查询就是类型安全的.Java™Persistence API (JPA) 的 2.0 版本引入了 Criteria AP ...

  3. mysql动态函数库_mysql自定义函数与动态查询

    介绍下mysql自定义函数的例子,以及插入单引号的方法,动态执行查询与字符串拼接的相关内容. 1.mysql自定义函数的例子 mysql不能像oracle 一样写 动态SQL. 代码示例: DROP ...

  4. Mysql递归查询(通过自定义函数,实现父子类关系查询)

    父子类树tree的关系,比如部门层次结构,菜单结构,可能我们更改了一级的数据,下面的所有子类以及子孙类都需要更改, 可以自定义mysql函数,进行查询出先关联数据,递归查询: 创建测试表: CREAT ...

  5. 使用jap的specification动态查询的演示案例与一些注意事项

    目录 学习背景与使用步骤 使用specification进行动态分页查询案例演示,包含按时间的范围查询 学习背景与使用步骤 最近在项目中遇到一个需求:对单个或者是多个条件进行分页查询(写在一个接口中) ...

  6. 数据库系列之mysql 自定义函数function,函数和存储过程的区别

    mysql 自定义函数function,函数和存储过程的区别 https://blog.csdn.net/u010365819/article/details/80470448 https://blo ...

  7. mysql 自定义函数function,函数和存储过程的区别

    From: https://blog.csdn.net/u010365819/article/details/80470448 1.MySQL自定义函数简介 在MySQL中使用自定义函数也需要相应的要 ...

  8. mysql 事件 函数_MySQL 自定义函数和存储过程的使用

    MySQL支持自定义函数和存储过程,创建函数和存储过程分别使用CREATE PROCEDURE和CREATE FUNCTION,两者在语法结构上比较相似,但是它们的使用方法及使用场景有所有不同. 1. ...

  9. rds支持mysql自带函数吗_MySQL自定义函数(CREATE FUNCTION)

    在使用MySQL的过程中,MySQL 自带的函数可能完成不了我们的业务需求,这时候就需要自定义函数.自定义函数是一种与存储过程十分相似的过程式数据库对象.它与存储过程一样,都是由 SQL 语句和过程式 ...

最新文章

  1. 2周年福利 | 20万字《网易智企技术合辑》重磅发布!
  2. 为什么我要用C写游戏 适合自己的才是最好的
  3. jQuery获取input复选框的值
  4. NILMTK——因子隐马尔可夫之隐马尔可夫
  5. 3个阶段 项目征名_项目管理的3个关键动作:启动、推进、复盘
  6. .net 遍历数组找重复值写入一个新数组_第二轮 Python 刷题笔记一:数组
  7. 宏定义不是c语言语句 行末不必加分号,模拟C语言试题-02(2).doc
  8. [转]在Windows server 2012上部署DPM 2012 SP1 RTM之先决条件准备
  9. axios http错误码处理
  10. 聚类分析在SPSS上的实现与结果分析——基于SPSS实验报告
  11. CSS界面样式(悬浮在元素上时将鼠标改为小手)
  12. 无需工具qlv转mp4格式最新,下载好的qlv文件怎么转换成mp4?腾讯视频怎么下载mp4格式?怎么把腾讯视频转换成mp4格式?
  13. 京享值超8万的京东钻石用户告诉你套路是这样的
  14. Kanzi Shader入门
  15. 抖音最常见的4种违规方式,不注意很可能会被封号!
  16. 设置div的内容及子标签向右对齐
  17. 滴滴实时计算发展之路及平台架构实践
  18. iPhone苹果手机的safari打开网页上显示不安全改如何解决
  19. 什么是setInterval/setTimeout?
  20. JavaScript 10进制转换为类似‘0x00d5’格式的16进制

热门文章

  1. 电脑桌面图标和文件按下鼠标左键无法无法拖动解决方法
  2. 技术指标之王MACD搞定白银走势预测
  3. 成功验证-复刻开源项目ST-Link-Nano仿真烧录器(虚拟串口+虚拟U盘升级)
  4. Flex实现查询和重置
  5. linux的filesystem
  6. 【pyspark】jieba 中文分词
  7. “懒人”设计师必备的AI绘画软件,轻松实现建筑设计闭环
  8. SPRING BOOT + VUE仿微信聊天
  9. MIUI10设置Android通知,MIUI10稳定版系统开始推送,附可升级机型及更新方法
  10. Java各运算符详解