zoukankan      html  css  js  c++  java
  • 五、字段处理

    1.计算字段

    • 如果想在一个字段中既显示公司名,又显示公司的地址,但这两个信息一般包含在不同的表列中。
    • 列数据是大小写混合的,但报表程序需要把所有数据按大写表示出来。
    • 需要根据表数据进行总数、平均数计算或其他计算。

    存储在表中的数据都不是应用程序所需要的。我们需要直接从数据库中检索出转换、计算或格式化过的数据;而不是检索出数据,然后再在客户机应用程序或报告程序中重新格式化。

    简单来说,就是直接从数据库中检索出几个字段来转成我们需要的结果,而不是我们检索出来到客户端再去转换。

    2.拼接字段

    Concat函数:

    将结果拼接起来。比如我们有一个字段name和字段price,需要显示成:name(price)的结果。

    select Concat(name,'(',price,')') from tb2;
    

    结果为:

    3.去除空格的函数:

    • LTRIM(str): 字符串str只有左侧空格字符被删除。
    • RTRIM(str): 字符串str只有右侧空格字符被删除。
    • TRIM(str): 字符串str两侧空格字符被删除。

    4.别名AS。

    上述Concat函数中,从图片中可以看到检索出来的字段名字是一个Concat的语句名,而通常我们不希望这么显示,用别名可以解决这个问题:

    select Concat(name,'(',price,')') as newName from tb2;
    

    5.运算

    MySQL支持加减乘除运算符。

    select id,price,id*price as total from tb2 ;
    

    其中total字段是id*price的结果。

    6.文本处理函数

    这张图里面的函数首字母都不用大写,遵循之前的规则,全部大写或者全部小写即可。

    (1) left,right函数。

    原型:left(str,len); 即从str字符串左侧开始截取len长度的字符。

    select left(name,2) as len from tb2;
    

    此语句截取name左侧开始len长度字符串。

    right函数同理,只是从右侧开始而已。

    (2) upper,lower函数。

    转换成大小写:

    select name,upper(name) as upper,lower(name) as lower from tb2;
    

    结果:

    (3) length函数。

    原型为:length(str);计算字符串长度。

    select name, length(name) from tb2;
    

    (4) locate函数。

    原型为:locate(substr,str,pos);检索子串substr出现的位置。

    当不使用pos时,可看做默认pos=1,即从字符串的第一个字符开始检索。

    比如从第二个字符开始检索字符'h'出现的位置:

    select name ,locate('h',name,2) as locate from tb2;
    

    分析结果,比如第一条记录,第二个字符开始检索,'h'出现的位置为3。

    (5) substr函数。

    原型为:substr(str,pos),截取str从pos位置开始的字符串。

    比如截取第三个位置开始的字符串:

    select name,substr(name,3) as substr from tb2;
    

    (6) soundex函数。

    SOUNDEX 是一个将任何文本串转换为描述其语音表示的字母数字模式的算法。SOUNDEX考虑了类似的发音字符和音节,使得能对串进行发音比较而不是字母比较。

    例子:

    7.日期时间处理函数

    假如我们要检索一个2005-09-01日期的订单,那么我们如果直接使用where语句可能不能达到我们期望的效果:

    select order_name from tb where order_date='2005-09-01';
    

    因为我们存储的时候,日期格式可能并不是这么存的。所以我们要使用日期时间处理函数。

    比如这个日期,我们可以使用上表中的date()函数:

    select order_name from tb where date(order_date)='2005-09-01';
    

    上述函数大多是通过一个时间,来返回其中的日期、时间等部分。而Now函数是返回当前的日期和时间。

    8.数值处理函数。

    大多是数学上的处理函数:

  • 相关阅读:
    SpringCloud学习笔记(5)——Config
    SpringCloud学习笔记(4)——Zuul
    SpringCloud学习笔记(3)——Hystrix
    SpringCloud学习笔记(2)——Ribbon
    SpringCloud学习笔记(1)——Eureka
    SpringCloud学习笔记——Eureka高可用
    Eureka介绍
    微服务网关 Spring Cloud Gateway
    Spring Boot 参数校验
    Spring Boot Kafka
  • 原文地址:https://www.cnblogs.com/love-jelly-pig/p/10357327.html
Copyright © 2011-2022 走看看