`
qdpurple
  • 浏览: 276762 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

mysql 查询学习积累

 
阅读更多
  1. FIND_IN_SET(str,strlist)
需求: 查询记录, 查询条件是字段(字符类型) 在 一个逗号分隔的字符串内.

如 talbe1 (id, level) level 取值范围是在另一张表中配置conf的, 值为 [ a,b,c] 想要查询table1 中level值为 a,b, c 任意一个的列. 思路:想到 其它语言中用in [list] 或 java中 的contains 方法, mysql是否有类似方法呢?

在网上搜索终于找到了mysql 自带的函数 FIND_IN_SET 用法:

--mysql 官网解释 http://dev.mysql.com/doc/refman/5.1/zh/functions.html#string-functions---

FIND_IN_SET(str,strlist)

假如字符串str 在由N 子链组成的字符串列表strlist 中, 则返回值的范围在 1 到 N 之间 。一个字符串列表就是一个由一些被‘,’符号分开的自链组成的字符串。如果第一个参数是一个常数字符串,而第二个是type SET列,则   FIND_IN_SET() 函数被优化,使用比特计算。如果str不在strlist 或strlist 为空字符串,则返回值为 0 。如任意一个参数为NULL,则返回值为 NULL。 这个函数在第一个参数包含一个逗号(‘,’)时将无法正常运行。 

 

mysql> SELECT FIND_IN_SET('b','a,b,c,d');

 

        -> 2

 

---

解决: 

select * from table1

where find_in_set(level, (select * from conf where key='level') ) >0

解释: >0, 表示level在集合[a,b,c]中出现的位置, 0表示未找到. 

注: mysql中没有boolean类型, 只有0:false; 1:true;

总结: mysql 本身自带了很多字符串操作 ,还需慢慢学习积累.

 

2. DATE_ADD(date,INTERVAL expr type) DATE_SUB(date,INTERVAL expr type)

:表示日期 增加/减少 N [year, month, day, secord]

需求: 由于系统升级, 需将用户购买产品的有效期补偿 8小时.

解决: update purchase set expiry = date_add(expiry, interval 8 hour);

 

 

引用官网解释: 

--mysql 官网解释 http://dev.mysql.com/doc/refman/5.1/en/date-and-time-functions.html#function_date-add

  • DATE_ADD(date,INTERVAL expr type) DATE_SUB(date,INTERVAL expr type)

这些函数执行日期运算。 date 是一个 DATETIME 或DATE值,用来指定起始时间。 expr 是一个表达式,用来指定从起始日期添加或减去的时间间隔值。  Expr是一个字符串;对于负值的时间间隔,它可以以一个 ‘-’开头。 type 为关键词,它指示了表达式被解释的方式。 

关键词INTERVA及 type 分类符均不区分大小写。

以下表显示了type 和expr 参数的关系:

 

type 

预期的 expr 格式

MICROSECOND

MICROSECONDS

SECOND

SECONDS

MINUTE

MINUTES

HOUR

HOURS

DAY

DAYS

WEEK

WEEKS

MONTH

MONTHS

QUARTER

QUARTERS

YEAR

YEARS

....

 

 

分享到:
评论

相关推荐

    mysql初级学习建议

    总之,MySQL 的学习是一个逐步深入的过程,从基础概念到实际操作,再到高级特性的掌握,都需要时间和实践去积累。通过搭建环境、编写 SQL 语句和实践管理任务,可以有效地掌握这个强大的数据库系统。

    大神写的MySQL DBA学习笔记

    通过阅读这份“大神写的MySQL DBA学习笔记”,不仅可以系统地学习MySQL的基础知识,还能获取到作者在实践中积累的宝贵经验,这对于成为一名合格的MySQL DBA至关重要。无论你是初学者还是有一定经验的数据库管理员,...

    MySQL数据库资源学习基础

    本文将根据提供的标题“MySQL数据库资源学习基础”及描述“对数据库的一定学习与了解,主要是针对服务器端基础的学习”,深入探讨相关的知识点。 ### MySQL数据库简介 MySQL是一个开源的关系型数据库管理系统...

    oracle mysql sqlserver积累

    本资源“oracle mysql sqlserver积累”似乎包含了一个关于这三种数据库的CHM格式电子书集合,为学习和理解这些数据库系统的使用提供了丰富的材料。 Oracle数据库系统是由甲骨文公司开发的,它是企业级的、高性能的...

    mysql 学习中 和大家分享一下

    通过以上总结,我们可以看到MySQL提供了丰富的功能来支持数据管理、查询优化和数据库维护。对于初学者而言,掌握这些基础和进阶命令是十分重要的,它们不仅能够帮助你高效地管理和操作数据库,还能够提升数据查询和...

    VB6.0连接MySQL数据库

    在信息技术领域,VB6.0(Visual Basic 6.0)是一个经典的编程语言版本,而MySQL则是一个流行的开源关系数据库管理...随着实践的积累,对数据库操作的理解会更加深入,从而能够在应用程序中更好地管理和利用数据资源。

    MySql 教程-如何学习 mysql.pdf

    随着知识的积累,定期回顾笔记并进行总结,将有助于你的知识体系更加稳固,可能在某个时刻,你会发现自己在MySQL技术上的水平有了质的飞跃。 最后,尽管这里提到的是MySQL的初级学习路径,但持续学习和关注MySQL的...

    MySQL基础PDF版

    MySQL是世界上最流行的关系型数据库管理系统之一,用于存储和管理数据。本篇主要介绍MySQL的基础...随着经验的积累,还可以深入学习存储过程、触发器、视图、索引优化、性能调优等进阶主题,进一步提升数据库管理能力。

    mysql学习札记.zip

    这份"mysql学习札记.zip"文件显然包含了作者在学习MySQL过程中积累的知识和经验,可能是笔记、示例代码或者教程。虽然没有具体的标签来细化主题,但我们可以根据常见的MySQL学习路径来探讨一些关键知识点。 首先,...

    mySQL学习记录.zip

    这个名为"mySQL学习记录.zip"的压缩包文件很可能是某位学习者在学习MySQL过程中积累的资料集合,包括笔记、示例代码、练习等内容。尽管没有具体的标签提供更多信息,我们可以从一般性的MySQL学习路径出发,探讨一些...

    丁奇Mysql45.zip

    这个压缩文件的核心内容很可能是丁奇在深入研究MySQL过程中积累的笔记、教程或案例,旨在帮助学习者掌握MySQL的关键技术和实践应用。 MySQL是一个广泛使用的开源关系型数据库管理系统(RDBMS),由瑞典的MySQL AB...

    Mysql数据库学习心得.docx

    学习MySQL,不仅需要理解SQL语言,还需要了解如何创建、管理数据库,以及处理数据查询、事务处理、备份恢复等方面的知识。随着经验的积累,可以从“数据库菜鸟”逐渐成长为能够熟练运用MySQL的专家。在实际工作中,...

    mysql基础学习.zip

    MySQL是一种广泛使用的...以上是MySQL基础学习的一些关键知识点,深入学习和实践这些内容将有助于理解和掌握MySQL数据库的使用。随着经验的积累,你还可以探索更高级的主题,如分区、复制、集群和InnoDB存储引擎等。

    MySql数据库学习记录.zip

    在“MySQL数据库学习记录.zip”这个压缩包中,可能包含了一个人在学习MySQL时积累的各种资料,如笔记、教程、实战项目等。下面我们将深入探讨MySQL数据库的一些关键知识点。 1. **基础概念**: - 数据库:存储和...

    Mysql函数手册.rar_MySQL函数手册_VZI_mysql 函数手册

    此外,VZI版的MySQL函数手册可能会有额外的注解、实用技巧和常见问题解答,这些都是作者在实际工作中积累的经验,对于新手和有经验的开发者来说都非常有价值。 在使用手册时,应结合实际的数据库操作环境,通过阅读...

    记录mysql学习.zip

    在“记录mysql学习.zip”这个压缩包中,可能包含了作者Kwan1117在学习MySQL过程中积累的笔记、示例代码、教程或者问题解决方案。下面将深入探讨MySQL的一些关键知识点: 1. **安装与配置**:MySQL的安装通常涉及...

    强昌金-揭秘MySQL OCP,全面掌握MySQL技术的最佳途径

    在介绍MySQL学习的其他知识点时,作者提到了仅仅学习MySQL是不够的,还应该掌握其他相关知识,比如操作系统知识、网络知识等,这对于作为一名合格的DBA来说是非常重要的。而文章最后提出的“SQL如何优化”和“线上...

    mysql练习使用脚本.zip

    了解如何创建、更新、查询和删除数据是学习MySQL的基础。通过实践这些脚本,你可以掌握`CREATE DATABASE`、`CREATE TABLE`、`ALTER TABLE`、`INSERT INTO`、`SELECT`、`UPDATE`和`DELETE`等基本语句。 2. **数据...

    MySQL学习相关.zip

    MySQL是一种广泛使用的开源关系型数据库管理系统(RDBMS),...以上只是MySQL学习的一部分内容,实际应用中还有更多高级特性如分区、窗口函数、JSON支持、性能监控等。学习MySQL需要理论结合实践,不断探索和积累经验。

Global site tag (gtag.js) - Google Analytics