zoukankan      html  css  js  c++  java
  • class12_使用函数创建新的输出字段

    使用函数创建新的输出字段

    函数介绍

    什么是函数及函数的分类

    定义:函数:根据输入,按照既定的逻辑返回预期的结果。

    常见的函数分类:

    函数分类示例
    数值函数 类型转换函数、绝对值函数、指数函数。。。
    文本函数 拼接函数、截取函数、转换函数。。。
    日期和时间函数 格式化函数、截取函数、系统日期。。。

    ps:不同的数据库,函数名及参数差别较大。使用时以具体的数据库说明文档为准。

     

    数值函数

    实现数值处理的函数

    常见数值函数

    函数作用示例
    abs(n) 返回n的绝对值 abs(-3) = 3
    round(n,d) 返回n的四舍五入值,保留d位小数 round(3.234,2) = 3.23
    rand() 返回0~1之间的随机数 rand()可能返回0.2511382673
    pow(x,y) 返回x的y次幂 pow(2,3) = 8
    mod(m,n) 返回m除以n的余数 mod(7,3) = 1
    三角函数 实现三角运算的函数,如sin,cos,tan等 sin(90) = 0.89399666360055785

     

    比如:如何从股票交易明细表中返回正数的交易数量?

    如何从股票交易明细表中返回交易费用(只保留2位小数位)?

    SELECT volume,ABS(volume) FROM t_stock_trans_dtl;
    SELECT fee,2,ROUND(fee,2) FROM t_stock_trans_dtl;

     

     

    文本函数

    实现字符串处理的函数

    常见文本函数

    函数作用示例
    length(str) 返回字符串str的长度 length('ABCED') = 5
    left(str,n) 返回字符串的左端n个字符 left('ABCDE',3) = 'ABC'
    right(str,n) 返回字符串str的右端n个字符 right('ABCDE',3) = 'CDE'
    trim(str) 删除str左右两边的空格 trim(' ABC ') = 'ABC'
    upper(str) 将字符串str转换为大写 upper('Abc') = 'ABC'
    lower(str) 将字符串str转为小写 lower('Abc') = 'abc'
    substring(str,m,n) 返回从字符串str第m位后面的n个字符 substring('ABCDE',2,3) = 'BCD'
    instr(str1,str2) 返回字符串str2在str1中首次出现的位置 instr('foobarbar','bar') = 4
    concat(str1,str2) 返回字符串str1,str2,……, 按顺序拼接后结果 concat('ABC','DEFG','H') = 'ABCDEFGH'

    substring(str,m,n) : mysql的位置从1开始算起,不是0!!!

    比如:

    如何根据股票交易明细表中的股票代码,返回股票所在的证券交易所?

    SELECT stock_code,left(stock_code,2) FROM t_stock_trans_dtl;
    SELECT stock_code,SUBSTRING(stock_code,1,2) FROM t_stock_trans_dtl;

     

    日期和时间函数

    实现日期和时间处理的函数

    常见日期和时间函数。

    注意:这个函数在不同数据库使用方法差别较大

    函数作用示例
    current_date() 返回当前日期 current_date()可能的返回值'2020-05-15'
    current_time() 返回当前时间 current_time()可能的返回值'12:34:10'
    year(date) 返回日期date所在的年份 year('2020-05-15') = 2020
    month(date) 返回日期date所在的月份 year('2020-05-15') = 5
    day(date) 返回日期date所在的日期 year('2020-05-15') = 15
    hour(date) 返回日期date所在的小时 hour('12:34:10') = 12
    minute(date) 返回日期date所在的分钟 minute('12:34:10') = 34
    dayofyear(date) 返回date是当年的第几天 dayofyear('2020-05-15') = 136
    dayofmonth(date) 返回date是当月的第几天 dayofmonth('2020-05-15') = 15
    dayofweek(date) 返回date是当周的第几天 (第1天是周日) dayofweek('2020-05-15') = 6
    date_format(date,格式) 返回date格式化后的结果 date_format(current_date(),'%Y') = 2020

    比如:

    如何返回股票交易明细表中交易日期(只返回年月日,去掉时分秒?)

    SELECT opt_tm,date_format(opt_tm,%Y-%m-%d') FROM t_stock_trans_dtl

     

    函数的嵌套

    多函数嵌套使用

    比如:

    如何根据股票交易明细表中的股票代码,返回股票所在的证券交易所(要求返回大写字母)?

    SELECT stock_code,upper(left(stock_code,2)) FROM t_stock_trans_dtl

     

  • 相关阅读:
    Effective C# 原则50:了解ECMA标准(译)
    Effective C# 原则47:选择安全的代码(译)
    DevExpress小结(简略)
    Effective C#49:为C#2.0做好准备(译)
    Effective C# 原则45:选择强异常来保护程序(译)
    我在犹豫是不是该收集这几首MP3
    用C#预览视频文件(简略)
    DevExpress库的学习总结(简略)
    SharePoint 2010 隐藏快速启动栏(左侧导航)
    将 Excel 导入到 SharePoint 列表
  • 原文地址:https://www.cnblogs.com/77-is-here/p/12831580.html
Copyright © 2011-2022 走看看