-- 常用函数 字符编码uft8汉字为3个字节 gbk汉字两个字节 gbk占用空间小速度快 utf8兼容性好

-- length 返回字符的字节数
SELECT LENGTH('asd王');
-- char_length 返回字符个数
SELECT CHAR_LENGTH('asf喊');

SELECT * FROM student WHERE CHAR_LENGTH(sname)=2;

SELECT * FROM student WHERE sname LIKE '__';

SELECT RAND();-- 返回随机小数[0,1)

SELECT ROUND(RAND()); -- 0或1
SELECT ROUND(RAND()*3)+1;-- 1到4之间的随机整数 rand()*3的范围是0-3

SELECT * FROM student LIMIT 2 ;-- 限制显示两行

SELECT * FROM student ORDER BY RAND() LIMIT 2;-- 随机查询两条记录

-- 查看十天的会员注册人数
-- menber 会员表 regdate 注册日期
SELECT COUNT(*) FROM menber WHERE regdate BETWEEN DATE_ADD(NOW(),INTERVAL -10 DAY);
-- 查看十天前的时间日期
SELECT DATE_ADD(NOW(),INTERVAL -10 DAY),NOW();
-- 十天后的时间
SELECT DATE_ADD(NOW(),INTERVAL 10 DAY),NOW();

SELECT DATE_ADD(NOW(),INTERVAL -2 HOUR);-- 两小时之前

SELECT DATE_ADD(NOW(),INTERVAL -8 MONTH) 八个月前;

-- datefiff 两个日期差的天数
SELECT DATEDIFF(CURDATE(),'1992-9-18');

-- 格式化日期函数 例:y只显示16年 Y显示2016年
SELECT DATE_FORMAT(NOW(),'%Y年%m月%d日');

CREATE TABLE ss(
sid INT,
sname VARCHAR(30),
sscore TINYINT UNSIGNED,
sbirthday DATETIME
);
DELETE FROM ss;
INSERT INTO ss VALUES(1,'张三',80,'1992-9-18 9:50:22'),(2,'李四',50,'1996-4-18'),(1,'王五',90,'1988-6-22');

SELECT * FROM ss;

SELECT sname 姓名,DATE_FORMAT(sbirthday,'%Y年%m月') 出生年月 FROM ss;

-- TIMESTAMPDIFF可算年月日时分秒 具体看DATE_ADD
SELECT TIMESTAMPDIFF(HOUR,'2015-7-10 12:30:00',NOW()) 工作时间;-- 从那个时间点到现在是多少个小时

SELECT TIMESTAMPDIFF(MINUTE,'2015-7-10 12:30:00',NOW()) 工作时间; -- 总的分钟数

SELECT TIMESTAMPDIFF(MONTH,'2015-7-10 12:30:00',NOW()) 工作时间;
----------------------------
SELECT WEEKOFYEAR(NOW());-- 当前是今年的第几周

-- 日期时间 存储过程可以使用int unsigned类
-- form_unixtime 将数字表达的日期格式化成标准yyyy-mm-dd h-i-s
SELECT FROM_UNIXTIME(1476555100,'%Y-%m-%d %T');

SELECT FROM_UNIXTIME(UNIX_TIMESTAMP()),UNIX_TIMESTAMP();-- 日期对应的数字

SELECT UNIX_TIMESTAMP();-- 将日期转换成数字存储

SELECT INET_ATON ('111.13.100.91');-- 将IP转换成相应的数字 1863148635

--------------------------------------
-- 字符串处理
-- 大小写转换
SELECT UPPER('hello'),LOWER('HELLO');

-- 不区分大小写Admin
SELECT * FROM admin WHERE LOWER(sname)=LOWER('admin');

SELECT LEFT(sname,2)FROM ss;-- 取目标的左边(右边用right)前2个字符

SELECT MID(sname,2,1)FROM ss;-- 从第二个字开始取一个字符

UPDATE menber SET PASSWORD=RIGHT(tel,6) WHERE mmid=1000;-- 将id为1000的会员的密码设置成他手机号的后六位

SELECT IFNULL(NULL,'保密');
SELECT IFNULL('男','保密');
SELECT IFNULL('女','保密');

SELECT IFNULL(sgender,'保密')FROM student;

SELECT * FROM ss;
UPDATE ss SET sscore=20 WHERE sid=2;

SELECT sid,sname,sscore,IF(sscore>=90,'优秀',IF(sscore>=70,'良好',IF(sscore>=60,'及格','补考'))) 等级 FROM ss;

------------------------------------

-- 加密函数

-- md5 32位 sha1 40位 都是单项加密
SELECT MD5('admin'),SHA1('admin'),PASSWORD('aaa');

-- uuid 36位16进制的全球唯一字符串
SELECT UUID(),LENGTH(UUID());-- 84da3ed7-e74c-11e5-8edb-089e0156af5a

SELECT FORMAT(2,2);-- 2.00 指定两位小数

-- 数字转IP IP转数字(最好整型无符号)
SELECT INET_ATON('192.168.1.1');-- 3232235777

SELECT INET_NTOA('3232235777');-- 192.168.1.1

-- php+mysql 项目开发的时间

日期时间和IP地址采用数据库的 INT UNSIGNED 类型存储

reg DATETIME
reg INT UNSIGNED

Mysql-学习笔记(==》常用函数 八)的更多相关文章

  1. MySql学习笔记——存储函数

    在学习完存储过程后,今天主要回顾一下mysql中的存储函数的知识. 函数与存储过程的区别 首先,存储函数也是过程式对象之一,与存储过程相似.它们都是由SQL和过程式语句组成的代码片断,并且可以从应用程 ...

  2. Oracle学习笔记——常用函数总结

    在平时写PL/SQL的时候,经常要用到很多系统自带的函数,而这些函数用起来非常好用,但是每次用完以后,就又忘到脑后了,为了加深自己的映象,以及对这些函数做一个全面的总结,就有了今天这篇文章. 首先这就 ...

  3. mysql学习笔记—常用sql函数

    SQL 拥有很多可用于计数和计算的内建函数. SQL Aggregate 函数 SQL Aggregate 函数计算从列中取得的值,返回一个单一的值. 有用的 Aggregate 函数: AVG() ...

  4. MYSQL学习笔记——常用语句

    1.检索数据 1.1.检索单个列:SELECT prod_name FROM products; 1.2.检索多个列:SELECT prod_id, prod_name, prod_price FRO ...

  5. Oracle学习笔记—常用函数

    这里记录一些oracle常用的函数. TO_NUMBER()函数 将字符串类型转换成一个 number 类型的值. SELECT TO_NUMBER('100.00') FROM DUAL; TO_C ...

  6. mysql学习笔记--- 字符串函数、日期时间函数

    一.常见字符串函数: 1.CHAR_LENGTH  获取长度(字符为单位) 2.FORMAT  格式化 3.INSERT  替换的方式插入 4.INSTR  获取位置 5.LEFT/RIGHT  取左 ...

  7. mysql学习笔记—常用sql语句

    sql注意事项: SQL 对大小写不敏感:SELECT 与 select 是相同的 某些数据库系统要求在每条 SQL 语句的末端使用分号. CREATE DATABASE CREATE DATABAS ...

  8. MySql学习笔记(一)之DQL常用查询

    MySql学习笔记(一)之DQL常用查询 前言:mysql是中小型的数据库软件,SQL语言分为DDL,DCL,DML,DQL四种,在这里重点讲解DQL的单表查询. 正文:在学习mysql单表查询之前, ...

  9. MYSQL学习笔记三:日期和时间函数

    MYSQL学习笔记三:日期和时间函数 1. 获取当前日期的函数和获取当前时间的函数 /*获取当前日期的函数和获取当前时间的函数.将日期以'YYYY-MM-DD'或者'YYYYMMDD'格式返回 */ ...

  10. MySQL学习笔记一

    MySQL 学习笔记 一 一.数据库简单介绍 1. 按照数据库的发展时间顺序,主要出现了以下类型数据库系统: Ø 网状型数据库 Ø 层次型数据库 Ø 关系型数据库 Ø 面向对象数据库 上面4中数据库系 ...

随机推荐

  1. extjs中的下载并对文件重命名功能的实现

    在小白的学习extjs的过程中,如果需要了解多文件的上传功能,也可以查看小白的上篇随笔,希望给大家帮助.http://www.cnblogs.com/wangqc/p/extjsFileUpload. ...

  2. 数组有没有length()这个方法? String有没有length()这个方法?

    答:数组和string都没有Length()方法,只有Length属性.

  3. NVL 和NVL2函数

    NVL 和NVL2函数 NVL函数: nvl(exp1,exp2) -->判断exp1是否是null,如果exp1不是则返回exp1的值,如果exp1为null则返回exp2 nvl2函数: n ...

  4. android中在代码中设置margin属性

    1,不多说,小知识点,直接上代码 LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(15, 15);// 创 ...

  5. ASP.NET MVC(二)

    休息一下还是继续ASP.NET MVC 的基础知识. 这篇文件我想和大家一起熟悉下ASP.NET MVC项目的目录结构及dll. 1. ASP.NET MVC 项目的目录结构 App_Data:  存 ...

  6. 【sinatra】结合Padrino framework

    用Sinatra来做复杂的Web应用时,会出现若干个比较麻烦的点. 要手工作成一个个的应用骨架.作成test .view.public目录等等 将Sinatra DSL集中在一个类中的话,画面数量增加 ...

  7. dataTabel转成dataview插入列后排序

    if (!string.IsNullOrEmpty(strQuyu) && !string.IsNullOrEmpty(strZuhao)) { string[] param = { ...

  8. COM编程之二 接口

    [1]接口 DLL的接口是它所输出的那些函数. C++类的接口是该类的一个成员函数集. COM接口是包含一个函数指针数组的内存结构. 每一个数组元素包含的是一个由组件所实现的函数的地址. 在COM中接 ...

  9. 去除冗余 – 精简您的CSS样式代码

    讲讲常见的一些没有必要使用CSS代码情况,而这些不起作用可以去掉的CSS代码可能是我们经常忽视的.越是对CSS理解不够,越容易出现这些问题. 二.一些常见不必要CSS样式 1.与默认CSS样式一致 我 ...

  10. Linux 进程状态【转】

    转自:http://www.cnblogs.com/itech/p/3208261.html 来自: http://blog.csdn.net/tianlesoftware/article/detai ...