`
huanglz19871030
  • 浏览: 241619 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

mysql部分常用函数

 
阅读更多

DATE_FORMAT(a.Created_time,'%Y-%m-%d %H:%i:%S')  as c_time

 

有人告诉说1代表的是索引字段,和数组一样,1的话就是第二个字段带索引!那统计这个字段count(1)比count(*)快!如果不带索引,那么count(*)比count(1)快!?

 

DATE_FORMAT(max(b.time),'%Y-%m-%d %H:%i')

 

if(t.default_photo_id is null,'',t2.photo_path) zone_photo

 

update t_zone_appraisement set zonevalue=zone_value+?,update_time=now()

 

if(is_default_member ='1','(默认)','') default_desc

 

where 1=1 

 

case when zgp.is_limit='1' and sum(zup.order_number) >=zgp.purchase_count /*限量商品且已拼购商品数量不超过拼购计划总量*/ then '2' /*拼购进行中*/ else

         case when now()< zgp.validate_time then '1' else '2' /*status为0,且当前时间大于拼购报名结束时间则为2,拼购进行中,否则可以报名*/end      

      end

    when zgp.status='1' then

           '2'/*拼购的后台已确认*/

    when zgp.status ='2'/*2,拼购成功*/then '4' 

    when zgp.status ='3'/*3失败*/ or zgp.status ='4'/*4,下线*/ then '3'/*拼购结束*/      

end as ustatus/*用户前台拼购状态1,报名中2,拼购进行中3,拼购结束4,拼购成功*/

 

select FORMAT((UNIX_TIMESTAMP(date_format(b.validate_time,'%Y-%m-%d')) - UNIX_TIMESTAMP(date_format(now(),'%Y-%m-%d')))/60/60/24,0)) as countDay

 

 CASE WHEN a.payment_id is not null THEN

  0

  ELSE

   b.group_purchase_price - b.subscription

  END as balance

 

createtime > DATE_SUB(now(),INTERVAL 7 DAY) ) sumintegral   DATE_SUB() 函数从日期减去指定的时间间隔。

 

to_days(b.created_time) = to_days(now())

 

if(UNIX_TIMESTAMP(endtime)>UNIX_TIMESTAMP(now()),DATE_FORMAT(endtime,'%Y-%m-%d'),"0")  as valid

 

(YEAR(CURDATE())-YEAR(c.birthday))    - (RIGHT(CURDATE(),5)<RIGHT(c.birthday,5))   AS age

 

DATEDIFF(date_format(now(),'%Y-%m-%d 00:00:00'), date_format(ai.validate_time,'%Y-%m-%d 00:00:00'))=1

 

 

if(0=?join_count,'0%',concat(round(100*if(c.check_count is null,0,c.check_count)/?join_count),'%')) per

 

if(OCTET_LENGTH(pi.postName)>30, concat(SUBSTRING(pi.postName,1,13), '...'),pi.postName) postName, 

 

  concat(SUBSTRING(pi.capability,1,200), '...') capability,  

 

if(OCTET_LENGTH(if(pi.has_anonymous=1,ci.anony_name,ci.corpName))>30, concat(SUBSTRING(if(pi.has_anonymous=1,ci.anony_name,ci.corpName),1,15), '...'),if(pi.has_anonymous=1,ci.anony_name,ci.corpName)) corpName,

 

b.source_type,case b.source_type when 1 then '主动加入' when 2 then '邀请加入' end source_desc

 

BETWEEN DATE_FORMAT(a.startTime,'%Y%m%d') AND DATE_FORMAT(a.endTime,'%Y%m%d')

 

adddate(a.deployTime,?)

 

case 

when e.is_hr='N' and e.isSpecial='N' then '合格会员'

when e.is_hr='Y' and e.isSpecial='N' then 'HR'

when e.is_hr='N' and e.isSpecial='Y' then '猎头'

when e.is_hr='Y' and e.isSpecial='Y' then 'HR&猎头'

end as user_type,

 

select '' as bill_id  ,'' as bill_item_id,

 

 

MySql的字符串函数

 

 

ASCII(str) 

返回字符串str的最左面字符的ASCII代码值。如果str是空字符串,返回0。如果str是NULL,返回NULL。 

mysql> select ASCII('2');           -> 50 mysql> select ASCII(2);           -> 50 mysql> select ASCII('dx');           -> 100 

也可参见ORD()函数。 

 

ORD(str) 

如果字符串str最左面字符是一个多字节字符,通过以格式((first byte ASCII code)*256+(second byte ASCII code))[*256+third byte ASCII code...]返回字符的ASCII代码值来返回多字节字符代码。如果最左面的字符不是一个多字节字符。返回与ASCII()函数返回的相同值。 

mysql> select ORD('2');           -> 50  

CONV(N,from_base,to_base) 

在不同的数字基之间变换数字。返回数字N的字符串数字,从from_base基变换为to_base基,如果任何参数是NULL,返回NULL。参数N解释为一个整数,但是可以指定为一个整数或一个字符串。最小基是2且最大的基是36。如果to_base是一个负数,N被认为是一个有符号数,否则,N被当作无符号数。 CONV以64位点精度工作。 

mysql> select CONV("a",16,2);           -> '1010' mysql> select CONV("6E",18,8);           -> '172' mysql> select CONV(-17,10,-18);           -> '-H' mysql> select CONV(10+"10"+'10'+0xa,10,10);           -> '40'   

BIN(N) 

返回二进制值N的一个字符串表示,在此N是一个长整数(BIGINT)数字,这等价于CONV(N,10,2)。如果N是NULL,返回NULL。 

mysql> select BIN(12);           -> '1100'  

OCT(N) 

返回八进制值N的一个字符串的表示,在此N是一个长整型数字,这等价于CONV(N,10,8)。如果N是NULL,返回NULL。 

mysql> select OCT(12);           -> '14'  

HEX(N) 

返回十六进制值N一个字符串的表示,在此N是一个长整型(BIGINT)数字,这等价于CONV(N,10,16)。如果N是NULL,返回NULL。 

mysql> select HEX(255);           -> 'FF'   

CHAR(N,...) 

CHAR()将参数解释为整数并且返回由这些整数的ASCII代码字符组成的一个字符串。NULL值被跳过。 

mysql> select CHAR(77,121,83,81,'76');           -> 'MySQL' mysql> select CHAR(77,77.3,'77.3');           -> 'MMM'  

CONCAT(str1,str2,...) 

返回来自于参数连结的字符串。如果任何参数是NULL,返回NULL。可以有超过2个的参数。一个数字参数被变换为等价的字符串形式。 

mysql> select CONCAT('My', 'S', 'QL');           -> 'MySQL' mysql> select CONCAT('My', NULL, 'QL');           -> NULL mysql> select CONCAT(14.3);           -> '14.3'  

LENGTH(str) 

 

OCTET_LENGTH(str) 

 

CHAR_LENGTH(str) 

 

CHARACTER_LENGTH(str) 

返回字符串str的长度。 

mysql> select LENGTH('text');           -> 4 mysql> select OCTET_LENGTH('text');           -> 4  

注意,对于多字节字符,其CHAR_LENGTH()仅计算一次。 

 

LOCATE(substr,str) 

 

POSITION(substr IN str) 

返回子串substr在字符串str第一个出现的位置,如果substr不是在str里面,返回0. 

mysql> select LOCATE('bar', 'foobarbar');           -> 4 mysql> select LOCATE('xbar', 'foobar');           -> 0  

该函数是多字节可靠的。   

LOCATE(substr,str,pos) 

返回子串substr在字符串str第一个出现的位置,从位置pos开始。如果substr不是在str里面,返回0。 

mysql> select LOCATE('bar', 'foobarbar',5);           -> 7  

这函数是多字节可靠的。 

 

INSTR(str,substr) 

返回子串substr在字符串str中的第一个出现的位置。这与有2个参数形式的LOCATE()相同,除了参数被颠倒。 

mysql> select INSTR('foobarbar', 'bar');           -> 4 mysql> select INSTR('xbar', 'foobar');           -> 0  

这函数是多字节可靠的。 

 

LPAD(str,len,padstr) 

返回字符串str,左面用字符串padstr填补直到str是len个字符长。 

mysql> select LPAD('hi',4,'??');           -> '??hi'   

RPAD(str,len,padstr) 

返回字符串str,右面用字符串padstr填补直到str是len个字符长。     

mysql> select RPAD('hi',5,'?');           -> 'hi???'  

LEFT(str,len) 

返回字符串str的最左面len个字符。 

mysql> select LEFT('foobarbar', 5);           -> 'fooba'  

该函数是多字节可靠的。 

 

RIGHT(str,len) 

返回字符串str的最右面len个字符。 

mysql> select RIGHT('foobarbar', 4);           -> 'rbar'  

该函数是多字节可靠的。 

 

SUBSTRING(str,pos,len) 

 

SUBSTRING(str FROM pos FOR len) 

 

MID(str,pos,len) 

从字符串str返回一个len个字符的子串,从位置pos开始。使用FROM的变种形式是ANSI SQL92语法。 

mysql> select SUBSTRING('Quadratically',5,6);           -> 'ratica'  

该函数是多字节可靠的。 

 

SUBSTRING(str,pos) 

 

SUBSTRING(str FROM pos) 

从字符串str的起始位置pos返回一个子串。 

mysql> select SUBSTRING('Quadratically',5);           -> 'ratically' mysql> select SUBSTRING('foobarbar' FROM 4);           -> 'barbar'

 

 

 

分享到:
评论

相关推荐

    Mysql函数手册.doc

    Mysql函数手册.doc 涵盖了mysql的大部分常用的函数 值得一看

    0xAiKang#Note#Mysql 常用高级函数整理1

    前言最近不少接触SQL语句,其实部分逻辑可以不用在业务代码中去实现,而是直接通过Mysql的高级函数来实现。这篇笔记用来整理下Msyql 的常用高级函数。CAS

    Linux常用函数合集

    总共分为12部分分别是:进程、线程、消息队列、信号量集、共享内存、PGSQL编程、MYSQL编 程、网络编程、文件访问、标准I/O、系统数据文件和信息、信号。函数说明很详细,对功能,参数等均有说明,对于初学者,在编程...

    MySQL存储过程及常用函数代码解析

    mysql存储过程的概念: 存储在数据库当中可以执行特定工作(查询和更新)的一组SQL代码的程序段。 mysql函数的概念: 函数是完成特定功能的...而存储函数可以作为其它sql语句的组成部分来出现。 存储过程可以调用存储

    收藏PHP常用函数 大部分收藏在内

    收藏PHP常用函数 大部分收藏在内,产生随机字符串函数 截取一定长度的字符串(该函数对GB2312使用有效) 取得客户端IP地址 判断邮箱地址 分页(两个函数配合使用) 获取新插入数据的ID //获得当前的脚本网址 //把...

    MySQL 基础 - 字符串函数.md

    此Markdown文档提供了MySQL数据库中常用的字符串函数的示例代码和详细说明。通过文档,您可以学习如何使用这些字符串函数来进行字符串操作和处理,以满足各种数据处理需求。 文档中涵盖的字符串函数包括: CONCAT...

    MYSQL常用命令大全

    上面命令参数是常用参数的一部分,详细情况可参考文档。此处的mydb是要登录的数据库的名称。 在进行开发和实际应用中,用户不应该只用root用户进行连接数据库,虽然使用root用户进行测试时很方便,但会给系统带来...

    sql关键字与常用函数及区别.docx

    此文档是本人亲自撰写,内容为测试的精华部分,欢迎下载来看,绝对有所收获!感谢!!!!!!不是那种随便复制黏贴的sql语句

    MySQL 5.1中文手冊

    3.6. 常用查询的例子 3.6.1. 列的最大值 3.6.2. 拥有某个列的最大值的行 3.6.3. 列的最大值:按组 3.6.4. 拥有某个字段的组间最大值的行 3.6.5. 使用用户变量 3.6.6. 使用外键 3.6.7. 根据两个键搜索 3.6.8. 根据天...

    MySQL 5.1官方简体中文参考手册

    3.6. 常用查询的例子 3.6.1. 列的最大值 3.6.2. 拥有某个列的最大值的行 3.6.3. 列的最大值:按组 3.6.4. 拥有某个字段的组间最大值的行 3.6.5. 使用用户变量 3.6.6. 使用外键 3.6.7. 根据两个键搜索 3.6.8. 根据天...

    MySQL 5.1参考手册

    3.6. 常用查询的例子 3.6.1. 列的最大值 3.6.2. 拥有某个列的最大值的行 3.6.3. 列的最大值:按组 3.6.4. 拥有某个字段的组间最大值的行 3.6.5. 使用用户变量 3.6.6. 使用外键 3.6.7. 根据两个键搜索 3.6.8. 根据天...

    mysql5.1中文手册

    常用查询的例子 3.6.1. 列的最大值 3.6.2. 拥有某个列的最大值的行 3.6.3. 列的最大值:按组 3.6.4. 拥有某个字段的组间最大值的行 3.6.5. 使用用户变量 3.6.6. 使用外键 3.6.7. 根据两个键...

    MySQL 5.1参考手册中文版

    3.6. 常用查询的例子 3.6.1. 列的最大值 3.6.2. 拥有某个列的最大值的行 3.6.3. 列的最大值:按组 3.6.4. 拥有某个字段的组间最大值的行 3.6.5. 使用用户变量 3.6.6. 使用外键 3.6.7. 根据两个键搜索 3.6.8....

    MySQL 5.1参考手册 (中文版)

    3.6. 常用查询的例子 3.6.1. 列的最大值 3.6.2. 拥有某个列的最大值的行 3.6.3. 列的最大值:按组 3.6.4. 拥有某个字段的组间最大值的行 3.6.5. 使用用户变量 3.6.6. 使用外键 3.6.7. 根据两个键搜索 3.6.8. 根据天...

    MYSQL培训经典教程(共两部分) 1/2

    MYSQL高级特性 81 4.1 集合函数 82 4.1.1 行列计数 82 4.1.2统计字段值的数目 82 4.1.3 计算字段的平均值 83 4.1.4 计算字段值的和 84 4.1.5 计算字段值的极值 84 4.1.6 总结 86 4.2 操作...

    mysql 学习笔记 绝对原创 包含工作中常用的语句 存储过程 函数 触发器等

    个人原创,根据自己的工作总结的,对工作的人事来说帮助很大。。里面包含 mysql的基本知识 还有优化 部分 存储过程 等 里面的语句都完全正确,全部在数据库中验证过

    MYSQL中文手册

    3.6. 常用查询的例子 3.6.1. 列的最大值 3.6.2. 拥有某个列的最大值的行 3.6.3. 列的最大值:按组 3.6.4. 拥有某个字段的组间最大值的行 3.6.5. 使用用户变量 3.6.6. 使用外键 3.6.7. 根据两个键搜索 3.6.8....

    MySql数据操作-连接方式、索引、事务、函数(二)

    mysql基础操作部分,以及一些常用操作命令

    韩顺平php+mysql

    该文档详细描述了mysql常用的大部分功能,包括常用语句,函数和php操作mysql

Global site tag (gtag.js) - Google Analytics