五、字段处理

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

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

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

2.拼接字段

Concat函数:

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

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

结果为:

6164A96B7B784DAEB97DA3053A25B4C6?method=download&shareKey=7b9e5f1cea85dd8c5a1b3147ba1a1fdb

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.文本处理函数

AACFB07946AF4A3DB66F1DE20866B9DF?method=download&shareKey=011bf3e93e9c75c0ad1883ad0f72fdea

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

(1) left,right函数。

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

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

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

51D508E974FD4F56B59C02C530C0DF77?method=download&shareKey=f1ed57391714f064f5c75c30ee55f73e

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

(2) upper,lower函数。

转换成大小写:

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

结果:

C9C418F41A654F079E43B11E2E919D3C?method=download&shareKey=204adae13e2016af6d0ddab98a004843

(3) length函数。

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

select name, length(name) from tb2;

099F9BEB79604513907FDBE329936434?method=download&shareKey=c1e4d6c341fe32e2ff869e6e7e450a2f

(4) locate函数。

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

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

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

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

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

255BC4FDD6B848F08A6FB9429AD3777C?method=download&shareKey=7bae402de3b8ff07afb5c4ff3a8603fb

(5) substr函数。

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

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

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

A6DF6557DD284D9590E87E71E6C64498?method=download&shareKey=cc7bab7e9e4ee7cdbe52f0a8a135ac1b

(6) soundex函数。

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

例子:

B065BE8219BD4D6EBFBA69C522BC3159?method=download&shareKey=9953f9e0cc72d00c0c8d23a1dd71c11e

7.日期时间处理函数

A9D70720D5DC4F48B3CC9AB959DCD90B?method=download&shareKey=6c59a754739f094e2ea43065ed07ded5

假如我们要检索一个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.数值处理函数。

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

16ADEE2D54054DD08EB511504BFCE86F?method=download&shareKey=2d8008939526df9fae19bf4b15cd589e

转载于:https://www.cnblogs.com/love-jelly-pig/p/10357327.html

BAPI(Business Application Programming Interface)是SAP提供的一种标准编程接口,用于与SAP系统进行集成开发。在开发过程中,可能遇到需要对数字类型字段进行增强处理的情况。以下是对此问题的回答: 增强数字类型字段处理可以通过以下步骤完成: 第一步,确定需要增强的数字类型字段。可以根据实际需求和业务流程确定需要做增强处理字段。 第二步,编写增强逻辑。根据业务需求,编写增强逻辑,对数字类型字段进行增强处理。例如,可以进行数据验证、计算、格式化等操作。 第三步,创建自定义扩展BADI。通过SAP GUI中的事务码SE18或SE19,创建自定义扩展BADI(Business Add-In)。在BADI的实现类中,实现增强逻辑。 第四步,关联自定义扩展BADI到需要增强的BADI定义。使用SAP GUI中的事务码SE18,将自定义扩展BADI与需要增强的BADI定义进行关联。这样,在调用BADI时,会触发自定义扩展BADI中的增强逻辑。 第步,测试增强处理的有效性。在集成开发环境中,模拟实际业务场景,测试增强处理的有效性和正确性。如果有问题,可以根据错误日志进行调试和修复。 需要注意的是,增强数字类型字段处理是针对具体业务需求而进行的,因此在实际开发中,可能需要根据具体情况进行调整和修改以上步骤。此外,编写增强逻辑时,也要考虑到性能和可维护性的问题,确保增强处理的性能优化和可持续性。最后,在项目上线前,还需要进行充分的测试和验证,确保增强处理的稳定性和正确性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值