CN104778243A - 一种字符型数据转换成数值型数据的方法和装置 - Google Patents
一种字符型数据转换成数值型数据的方法和装置 Download PDFInfo
- Publication number
- CN104778243A CN104778243A CN201510166845.2A CN201510166845A CN104778243A CN 104778243 A CN104778243 A CN 104778243A CN 201510166845 A CN201510166845 A CN 201510166845A CN 104778243 A CN104778243 A CN 104778243A
- Authority
- CN
- China
- Prior art keywords
- field
- type field
- character type
- character
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Landscapes
- Telephonic Communication Services (AREA)
- Document Processing Apparatus (AREA)
Abstract
本发明公开了一种字符型数据转换成数值型数据的方法和装置,用以将PHP语言中PDO组件返回的字符型数据转换成数值型数据,对结果集进行计算。所述方法包括:步骤A:获取PDO组件返回的包含字符型数据的结果集,记录所述结果集包含的全部数据记录的行数A1和全部字符型字段数B1;步骤B:自所述结果集中获取一行数据记录,所述一行数据记录包含多个字符型字段;步骤C:获取数据库中存储的字符型字段与字段类型对应的信息列表,将所述多个字符型字段分别与所述信息列表进行匹配,获取所述多个字符型字段各自的类型信息;步骤D:根据所述多个字符型字段的类型信息,调用相应的转换函数,将所述字符型字段转换成数值型字段。
Description
技术领域
本发明涉及web开发技术领域,特别的,涉及一种字符型数据转换成数值型数据的方法和装置。
背景技术
PHP(PHP:Hypertext Preprocessor,超文本预处理器)是一种通用开源脚本语言,吸收了C语言、Java和Perl的特点,利于学习,使用广泛,主要适用于Web开发领域。PDO扩展为PHP访问数据库定义了一个轻量级的、一致性的接口,它提供了一个数据访问抽象层,这样,无论使用什么数据库,都可以通过一致的函数执行查询和获取数据。
PHP语言中PDO组件返回的结果集中的数据均是字符型数据,如中文字符、英文字符、数字字符和其他ASCⅡ字符等,不支持数值型数据,数值型数据是表示数量、可以进行数值运算的数据类型。PDO的数据获取方法与其他数据库扩展都非常类似,只要成功执行SELECT查询,都会有结果集对象产生。不管是使用PDO对象中的query()方法,还是使用prepare()和execute()等方法结合的预处理语句,执行SELECT查询都会得到相同的结果集对象PDOStatement。
在返回结果集时,都需要通过PDOStatement类对象中的方法将数据遍历出来。但由于PDO组件只返回字符型数据,字符型数据本身不具有计算能力,而后续对PDO组件返回的结果集数据进行处理时,需要区分数值型数据和字符型数据以便进行准确处理。因此,由于PDO组件无法直接返回数值型数据,给后续的结果集数据处理带来了不便。
综上所述,现有技术中,在对PHP语言中PDO组件返回结果集数据进行处理的过程中,由于PDO组件只返回无法进行计算的字符型数据,因此,缺少一种将字符型数据转化为数值型数据的方法。
发明内容
本发明提供一种字符型数据转换成数值型数据的方法和装置,用以将PHP语言中PDO组件返回的字符型数据转换成数值型数据,实现对PDO返回结果集进行计算的目的。
本发明提供一种字符型数据转换成数值型数据的方法,包括:
步骤A:获取PDO组件返回的包含字符型数据的结果集,记录所述结果集包含的全部数据记录的行数A1和全部字符型字段数B1;
步骤B:自所述结果集中获取一行数据记录,所述一行数据记录包含多个字符型字段;
步骤C:获取数据库中存储的字符型字段与字段类型对应的信息列表,将所述多个字符型字段分别与所述信息列表进行匹配,获取所述多个字符型字段各自的类型信息;
步骤D:根据所述多个字符型字段的类型信息,调用相应的转换函数,将所述字符型字段转换成数值型字段。
本发明实施例的一些有益效果可以包括:
在PDO组件返回结果集之后,提取该结果集中的每一行数据记录,获取数据库中存储的字符型字段与字段类型对应的信息列表,将该数据记录中的字符型字段与该信息列表进行匹配,从而能够获得每个字符型字段的字段类型信息。根据获取的字段类型信息,调用相应的转换函数,即能够将字符型字段转换成可用于计算的数值型字段,因此,实现了字符型字段与数值型字段的区分,为后续的结果集运算提供了便利,避免了字符型字段不能参与运算带来的难题。
在一个实施例中,还包括:
步骤E:将转换后的数值型字段与其相对应的转换前的字符型字段组成转换列表;
步骤F:自所述结果集中获取下一行数据记录,检测所述数据记录中包含的字符型字段是否存在所述转换列表中;
步骤G:如果存在,则根据所述转换列表将字符型字段直接转换成相应的数值型字段,如果不存在,则重复所述步骤C和步骤D,将该字符型字段转换成数值型字段;
步骤H:将所述步骤G中的字符型字段与其对应的数值型字段加入所述转换列表中。
该实施例中,将已经转换过的字符型字段与其相对应的数值型字段建立一个转换列表,当下次再提取数据记录中的字符型字段进行转换时,可以判断该字符型字段是否存在该转换列表中,也即判断该字符型字段是否曾经被转换过。如果是,可以直接从转换列表中找出其相对应的数值型字段,而不必再次调用相应的转换函数进行转换,节省了转换时间,提高了转换效率;如果该字符型字段没有被转换过,在对其进行正常转换之后,将其与对应的数值型字段添加到转换列表中,可以为后续的字符型字段的转换提供快速、便捷的参考依据。
在一个实施例中,在所述步骤D之后还包括:
步骤I:统计已经转换成数值型字段的全部数据记录的行数A2,及全部字段的字段数B2;
步骤J:将所述A2、B2分别与所述A1、B1进行比较,如果二者均相同,则转换结束,如果A2=A1且B2≠B1,则执行所述步骤C,如果A2≠A1且B2=B1,则执行所述记录获取模块的操作。
该实施例中,将已经转换成数值型字段的全部数据记录的行数和全部字段的字段数,与PDO组件返回结果集中的全部数据记录的行数、全部字符型字段数进行分别比较,分别在二者相同、前者相同后者不同、前者不同后者相同的情况下,执行不同的流程,区分了不同转换进度时的操作流程,提高了工作效率。
在一个实施例中,所述获取数据库中存储的字符型字段与字段类型对应的信息列表包括:
获取当前数据库中的所有用户表,及所述各用户表的所有字符型字段,所述用户表为与用户相关的具体信息集合;
查询与各用户表相关的视图、存储过程、函数,及当前数据库中所有存储过程;
查询用户创建的所有数据库,及所述各用户表的字符型字段和字段类型;
根据获取的所述各用户表的字段和字段类型建立字符型字段与字段类型对应的信息列表。
该实施例中,对从数据库中获取存储的字符型字段与字段类型对应的信息列表进行了具体限定,先获取数据库中的所有用户表,根据用户表相关的视图、存储过程、函数,查询用户创建的所有数据库中用户表的字符型字段和字段类型,然后根据各用户表字符型字段和字段类型建立字符型字段与字段类型对应的信息列表,通过该方法,可快速地建立信息列表,为转换字符型字段提供了匹配依据。
在一个实施例中,所述根据所述多个字符型字段的类型信息,调用相应的转换函数,将所述字符型字段转换成数值型字段包括:
获取所述多个字符型字段的字段类型信息,判断该字段类型信息是否包括.或e或E其中任意一个字符;
如果包括,则将所述字符型字段当作float来求值,如果不包括则所述字符型字段的值由字符型字段最前面的部分决定,如果字符型字段以合法数字开始,则以该数字作为所述字符型字段的值,否则其值为0,所述合法数字由可选的正负号开始,后面跟着一个或多个数字。
该实施例中,对根据转化函数将字符型字段转换成数值型字段的过程进行了具体限定,通过判断字符型字段的字段类型信息是否包括.或e或E其中任意一个字符,分别执行不同的转换方式。该实施例中的方法为字符型字段转换成数值型字段提供了直接的转换方法,提高了转换效率。
一种字符型数据转换成数值型数据的装置,包括:
结果获取模块,用于获取PDO组件返回的包含字符型数据的结果集,记录所述结果集包含的全部数据记录的行数A1和全部字符型字段数B1;
记录获取模块,用于自所述结果集中获取一行数据记录,所述一行数据记录包含多个字符型字段;
字段匹配模块,用于获取数据库中存储的字符型字段与字段类型对应的信息列表,将所述多个字符型字段分别与所述信息列表进行匹配,获取所述多个字符型字段各自的类型信息;
数据转换模块,用于根据所述多个字符型字段的类型信息,调用相应的转换函数,将所述字符型字段转换成数值型字段。
在一个实施例中,还包括:
列表建立模块,用于将转换后的数值型字段与其相对应的转换前的字符型字段组成转换列表;
记录检测模块,用于自所述结果集中获取下一行数据记录,检测所述数据记录中包含的字符型字段是否存在所述转换列表中;
检测转换模块,用于如果存在,则根据所述转换列表将字符型字段直接转换成相应的数值型字段,如果不存在,则重复所述字段匹配模块和数据转换模块的操作,将该字符型字段转换成数值型字段;
列表更新模块,用于将所述检测转换模块检测的字符型字段与其对应的数值型字段加入所述转换列表中。
在一个实施例中,还包括:
转换统计模块,用于统计已经转换成数值型字段的全部数据记录的行数A2,及全部字段的字段数B2;
结果比较模块,用于将所述A2、B2分别与所述A1、B1进行比较,如果二者均相同,则转换结束,如果A2=A1且B2≠B1,则执行所述字段匹配模块的操作,如果A2≠A1且B2=B1,则执行所述记录获取模块的操作。
在一个实施例中,所述字段匹配模块包括:
字段获取子模块,用于获取当前数据库中的所有用户表,及所述各用户表的所有字符型字段,所述用户表为与用户相关的具体信息集合;
第一查询子模块,用于查询与各用户表相关的视图、存储过程、函数,及当前数据库中所有存储过程;
第二查询子模块,用于查询用户创建的所有数据库,及所述各用户表的字符型字段和字段类型;
字段对应子模块,用于根据获取的所述各用户表的字段和字段类型建立字符型字段与字段类型对应的信息列表。
在一个实施例中,所述数据转换模块包括:
字段判断子模块,用于获取所述多个字符型字段的字段类型信息,判断该字段类型信息是否包括.或e或E其中任意一个字符;
数值转换子模块,用于如果包括,则将所述字符型字段当作float来求值,如果不包括则所述字符型字段的值由字符型字段最前面的部分决定,如果字符型字段以合法数字开始,则以该数字作为所述字符型字段的值,否则其值为0,所述合法数字由可选的正负号开始,后面跟着一个或多个数字。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
附图说明
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:
图1为本发明实施例中一种字符型数据转换成数值型数据的方法的流程图;
图2为本发明实施例中另一种字符型数据转换成数值型数据的方法的流程图;
图3为本发明实施例中又一种字符型数据转换成数值型数据的方法的流程图;
图4为本发明实施例中一种字符型数据转换成数值型数据的方法的步骤S103的流程图;
图5为本发明实施例中一种字符型数据转换成数值型数据的方法的步骤S104的流程图;
图6为本发明实施例中一种字符型数据转换成数值型数据的装置的框图;
图7为本发明实施例中一种字符型数据转换成数值型数据的装置的字段匹配模块的框图;
图8为本发明实施例中一种字符型数据转换成数值型数据的装置的数据转换模块的框图。
具体实施方式
以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。
图1为本发明的实施例中的一种字符型数据转换成数值型数据的方法的流程图,如图1所示,该方法包括:
步骤S101:获取PDO组件返回的包含字符型数据的结果集,记录所述结果集包含的全部数据记录的行数A1和全部字符型字段数B1;
步骤S102:自所述结果集中获取一行数据记录,所述一行数据记录包含多个字符型字段;
步骤S103:获取数据库中存储的字符型字段与字段类型对应的信息列表,将所述多个字符型字段分别与所述信息列表进行匹配,获取所述多个字符型字段各自的类型信息;
步骤S104:根据所述多个字符型字段的类型信息,调用相应的转换函数,将所述字符型字段转换成数值型字段。
在本实施例中,在PDO组件返回结果集之后,提取该结果集中的每一行数据记录,获取数据库中存储的字符型字段与字段类型对应的信息列表,将该数据记录中的字符型字段与该信息列表进行匹配,从而能够获得每个字符型字段的字段类型信息。根据获取的字段类型信息,调用相应的转换函数,即能够将字符型字段转换成可用于计算的数值型字段,因此,实现了字符型字段与数值型字段的区分,为后续的结果集运算提供了便利,避免了字符型字段不能参与运算带来的难题。
在一个实施例中,如图2所示,该字符型数据转换成数值型数据的方法还包括:
步骤S105:将转换后的数值型字段与其相对应的转换前的字符型字段组成转换列表;
步骤S106:自所述结果集中获取下一行数据记录,检测所述数据记录中包含的字符型字段是否存在所述转换列表中;
步骤S107:如果存在,则根据所述转换列表将字符型字段直接转换成相应的数值型字段,如果不存在,则重复所述步骤S103和步骤S104,将该字符型字段转换成数值型字段;
步骤S108:将所述步骤S107中的字符型字段与其对应的数值型字段加入所述转换列表中。
该实施例中,将已经转换过的字符型字段与其相对应的数值型字段建立一个转换列表,当下次再提取数据记录中的字符型字段进行转换时,可以判断该字符型字段是否存在该转换列表中,也即判断该字符型字段是否曾经被转换过。如果是,可以直接从转换列表中找出其相对应的数值型字段,而不必再次调用相应的转换函数进行转换,节省了转换时间,提高了转换效率;如果该字符型字段没有被转换过,在对其进行正常转换之后,将其与对应的数值型字段添加到转换列表中,可以为后续的字符型字段的转换提供快速、便捷的参考依据。
在一个实施例中,如图3所示的字符型数据转换成数值型数据的方法,在步骤S104之后还包括:
步骤S109:统计已经转换成数值型字段的全部数据记录的行数A2,及全部字段的字段数B2;
步骤S110:将所述A2、B2分别与所述A1、B1进行比较,如果二者均相同,则转换结束,如果A2=A1且B2≠B1,则执行所述步骤C,如果A2≠A1且B2=B1,则执行所述步骤S102。
该实施例中,将已经转换成数值型字段的全部数据记录的行数和全部字段的字段数,与PDO组件返回结果集中的全部数据记录的行数、全部字符型字段数进行分别比较,分别在二者相同、前者相同后者不同、前者不同后者相同的情况下,执行不同的流程,区分了不同转换进度时的操作流程,提高了工作效率。
在一个实施例中,如图4所示,步骤S103中的所述获取数据库中存储的字符型字段与字段类型对应的信息列表可实施为以下步骤:
步骤S401:获取当前数据库中的所有用户表,及所述各用户表的所有字符型字段,所述用户表为与用户相关的具体信息集合;
步骤S402:查询与各用户表相关的视图、存储过程、函数,及当前数据库中所有存储过程;
步骤S403:查询用户创建的所有数据库,及所述各用户表的字符型字段和字段类型;
步骤S404:根据获取的所述各用户表的字段和字段类型建立字符型字段与字段类型对应的信息列表。
该实施例中,对从数据库中获取存储的字符型字段与字段类型对应的信息列表进行了具体限定,先获取数据库中的所有用户表,根据用户表相关的视图、存储过程、函数,查询用户创建的所有数据库中用户表的字符型字段和字段类型,然后根据各用户表字符型字段和字段类型建立字符型字段与字段类型对应的信息列表,通过该方法,可快速地建立信息列表,为转换字符型字段提供了匹配依据。
在一个实施例中,如图5所示,步骤S104的步骤可实施为以下步骤:
步骤S501:获取所述多个字符型字段的字段类型信息,判断该字段类型信息是否包括.或e或E其中任意一个字符;
步骤S502:如果包括,则将所述字符型字段当作float来求值,如果不包括则所述字符型字段的值由字符型字段最前面的部分决定,如果字符型字段以合法数字开始,则以该数字作为所述字符型字段的值,否则其值为0,所述合法数字由可选的正负号开始,后面跟着一个或多个数字。
对应于上述实施例提供的一种字符型数据转换成数值型数据的方法,本发明实施例还提供一种字符型数据转换成数值型数据的装置,如图6所示,包括:
结果获取模块60,用于获取PDO组件返回的包含字符型数据的结果集,记录所述结果集包含的全部数据记录的行数A1和全部字符型字段数B1;
记录获取模块61,用于自所述结果集中获取一行数据记录,所述一行数据记录包含多个字符型字段;
字段匹配模块62,用于获取数据库中存储的字符型字段与字段类型对应的信息列表,将所述多个字符型字段分别与所述信息列表进行匹配,获取所述多个字符型字段各自的类型信息;
数据转换模块63,用于根据所述多个字符型字段的类型信息,调用相应的转换函数,将所述字符型字段转换成数值型字段。
列表建立模块64,用于将转换后的数值型字段与其相对应的转换前的字符型字段组成转换列表;
记录检测模块65,用于自所述结果集中获取下一行数据记录,检测所述数据记录中包含的字符型字段是否存在所述转换列表中;
检测转换模块66,用于如果存在,则根据所述转换列表将字符型字段直接转换成相应的数值型字段,如果不存在,则重复所述字段匹配模块62和数据转换模块63的操作,将该字符型字段转换成数值型字段;
列表更新模块67,用于将所述检测转换模块67检测的字符型字段与其对应的数值型字段加入所述转换列表中。
转换统计模块68,用于统计已经转换成数值型字段的全部数据记录的行数A2,及全部字段的字段数B2;
结果比较模块69,用于将所述A2、B2分别与所述A1、B1进行比较,如果二者均相同,则转换结束,如果A2=A1且B2≠B1,则执行所述字段匹配模块62的操作,如果A2≠A1且B2=B1,则执行所述步骤S102。
在一个实施例中,如图7所示,字段匹配模块62包括:
字段获取子模块621,用于获取当前数据库中的所有用户表,及所述各用户表的所有字符型字段,所述用户表为与用户相关的具体信息集合;
第一查询子模块622,用于查询与各用户表相关的视图、存储过程、函数,及当前数据库中所有存储过程;
第二查询子模块623,用于查询用户创建的所有数据库,及所述各用户表的字符型字段和字段类型;
字段对应子模块624,用于根据获取的所述各用户表的字段和字段类型建立字符型字段与字段类型对应的信息列表。
在一个实施例中,如图8所示,数据转换模块63包括:
字段判断子模块631,用于获取所述多个字符型字段的字段类型信息,判断该字段类型信息是否包括.或e或E其中任意一个字符;
数值转换子模块632,用于如果包括,则将所述字符型字段当作float来求值,如果不包括则所述字符型字段的值由字符型字段最前面的部分决定,如果字符型字段以合法数字开始,则以该数字作为所述字符型字段的值,否则其值为0,所述合法数字由可选的正负号开始,后面跟着一个或多个数字。
本发明实施例的字符型数据转换成数值型数据的装置,根据获取的字段类型信息,调用相应的转换函数,即能够将字符型字段转换成可用于计算的数值型字段,因此,实现了字符型字段与数值型字段的区分,为后续的结果集运算提供了便利,避免了字符型字段不能参与运算带来的难题。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (10)
1.一种字符型数据转换成数值型数据的方法,其特征在于,包括:
步骤A:获取PDO组件返回的包含字符型数据的结果集,记录所述结果集包含的全部数据记录的行数A1和全部字符型字段数B1;
步骤B:自所述结果集中获取一行数据记录,所述一行数据记录包含多个字符型字段;
步骤C:获取数据库中存储的字符型字段与字段类型对应的信息列表,将所述多个字符型字段分别与所述信息列表进行匹配,获取所述多个字符型字段各自的类型信息;
步骤D:根据所述多个字符型字段的类型信息,调用相应的转换函数,将所述字符型字段转换成数值型字段。
2.如权利要求1所述的方法,其特征在于,还包括:
步骤E:将转换后的数值型字段与其相对应的转换前的字符型字段组成转换列表;
步骤F:自所述结果集中获取下一行数据记录,检测所述数据记录中包含的字符型字段是否存在所述转换列表中;
步骤G:如果存在,则根据所述转换列表将字符型字段直接转换成相应的数值型字段,如果不存在,则重复所述步骤C和步骤D,将该字符型字段转换成数值型字段;
步骤H:将所述步骤G中的字符型字段与其对应的数值型字段加入所述转换列表中。
3.如权利要求1所述的方法,其特征在于,
在所述步骤D之后还包括:
步骤I:统计已经转换成数值型字段的全部数据记录的行数A2,及全部字段的字段数B2;
步骤J:将所述A2、B2分别与所述A1、B1进行比较,如果二者均相同,则转换结束,如果A2=A1且B2≠B1,则执行所述步骤C,如果A2≠A1且B2=B1,则执行所述步骤B。
4.如权利要求1所述的方法,其特征在于,
所述获取数据库中存储的字符型字段与字段类型对应的信息列表包括:
获取当前数据库中的所有用户表,及所述各用户表的所有字符型字段,所述用户表为与用户相关的具体信息集合;
查询与各用户表相关的视图、存储过程、函数,及当前数据库中所有存储过程;
查询用户创建的所有数据库,及所述各用户表的字符型字段和字段类型;
根据获取的所述各用户表的字段和字段类型建立字符型字段与字段类型对应的信息列表。
5.如权利要求1所述的方法,其特征在于,
所述根据所述多个字符型字段的类型信息,调用相应的转换函数,将所述字符型字段转换成数值型字段包括:
获取所述多个字符型字段的字段类型信息,判断该字段类型信息是否包括.或e或E其中任意一个字符;
如果包括,则将所述字符型字段当作float来求值,如果不包括则所述字符型字段的值由字符型字段最前面的部分决定,如果字符型字段以合法数字开始,则以该数字作为所述字符型字段的值,否则其值为0,所述合法数字由可选的正负号开始,后面跟着一个或多个数字。
6.一种字符型数据转换成数值型数据的装置,其特征在于,包括:
结果获取模块,用于获取PDO组件返回的包含字符型数据的结果集,记录所述结果集包含的全部数据记录的行数A1和全部字符型字段数B1;
记录获取模块,用于自所述结果集中获取一行数据记录,所述一行数据记录包含多个字符型字段;
字段匹配模块,用于获取数据库中存储的字符型字段与字段类型对应的信息列表,将所述多个字符型字段分别与所述信息列表进行匹配,获取所述多个字符型字段各自的类型信息;
数据转换模块,用于根据所述多个字符型字段的类型信息,调用相应的转换函数,将所述字符型字段转换成数值型字段。
7.如权利要求6所述的装置,其特征在于,还包括:
列表建立模块,用于将转换后的数值型字段与其相对应的转换前的字符型字段组成转换列表;
记录检测模块,用于自所述结果集中获取下一行数据记录,检测所述数据记录中包含的字符型字段是否存在所述转换列表中;
检测转换模块,用于如果存在,则根据所述转换列表将字符型字段直接转换成相应的数值型字段,如果不存在,则重复所述字段匹配模块和数据转换模块的操作,将该字符型字段转换成数值型字段;
列表更新模块,用于将所述检测转换模块检测的字符型字段与其对应的数值型字段加入所述转换列表中。
8.如权利要求6所述的装置,其特征在于,还包括:
转换统计模块,用于统计已经转换成数值型字段的全部数据记录的行数A2,及全部字段的字段数B2;
结果比较模块,用于将所述A2、B2分别与所述A1、B1进行比较,如果二者均相同,则转换结束,如果A2=A1且B2≠B1,则执行所述字段匹配模块的操作,如果A2≠A1且B2=B1,则执行所述记录获取模块的操作。
9.如权利要求6所述的装置,其特征在于,
所述字段匹配模块包括:
字段获取子模块,用于获取当前数据库中的所有用户表,及所述各用户表的所有字符型字段,所述用户表为与用户相关的具体信息集合;
第一查询子模块,用于查询与各用户表相关的视图、存储过程、函数,及当前数据库中所有存储过程;
第二查询子模块,用于查询用户创建的所有数据库,及所述各用户表的字符型字段和字段类型;
字段对应子模块,用于根据获取的所述各用户表的字段和字段类型建立字符型字段与字段类型对应的信息列表。
10.如权利要求9所述的装置,其特征在于,
所述数据转换模块包括:
字段判断子模块,用于获取所述多个字符型字段的字段类型信息,判断该字段类型信息是否包括.或e或E其中任意一个字符;
数值转换子模块,用于如果包括,则将所述字符型字段当作float来求值,如果不包括则所述字符型字段的值由字符型字段最前面的部分决定,如果字符型字段以合法数字开始,则以该数字作为所述字符型字段的值,否则其值为0,所述合法数字由可选的正负号开始,后面跟着一个或多个数字。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510166845.2A CN104778243B (zh) | 2015-04-09 | 2015-04-09 | 一种字符型数据转换成数值型数据的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510166845.2A CN104778243B (zh) | 2015-04-09 | 2015-04-09 | 一种字符型数据转换成数值型数据的方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104778243A true CN104778243A (zh) | 2015-07-15 |
CN104778243B CN104778243B (zh) | 2018-12-21 |
Family
ID=53619707
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510166845.2A Expired - Fee Related CN104778243B (zh) | 2015-04-09 | 2015-04-09 | 一种字符型数据转换成数值型数据的方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104778243B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106649318A (zh) * | 2015-10-29 | 2017-05-10 | 北京国双科技有限公司 | 一种信息展示的方法及装置 |
CN111683066A (zh) * | 2020-05-27 | 2020-09-18 | 平安养老保险股份有限公司 | 异构系统集成方法、装置、计算机设备和存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH08263486A (ja) * | 1995-03-24 | 1996-10-11 | Nec Corp | かな漢字変換装置及び方法 |
CN101000602A (zh) * | 2006-01-09 | 2007-07-18 | 台湾积体电路制造股份有限公司 | 字符转换方法与系统 |
CN101470724A (zh) * | 2007-12-25 | 2009-07-01 | 英业达股份有限公司 | 字符转换系统及方法 |
CN102446197A (zh) * | 2010-09-30 | 2012-05-09 | 国际商业机器公司 | 一种数据转换方法和数据转换器 |
-
2015
- 2015-04-09 CN CN201510166845.2A patent/CN104778243B/zh not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH08263486A (ja) * | 1995-03-24 | 1996-10-11 | Nec Corp | かな漢字変換装置及び方法 |
CN101000602A (zh) * | 2006-01-09 | 2007-07-18 | 台湾积体电路制造股份有限公司 | 字符转换方法与系统 |
CN101470724A (zh) * | 2007-12-25 | 2009-07-01 | 英业达股份有限公司 | 字符转换系统及方法 |
CN102446197A (zh) * | 2010-09-30 | 2012-05-09 | 国际商业机器公司 | 一种数据转换方法和数据转换器 |
Non-Patent Citations (3)
Title |
---|
尹买华: "数据库管理系统", 《数据库管理系统》 * |
屠新兵: "C语言中常见数值字符转换的编程方法", 《计算机光盘软件与应用》 * |
朱伟: "C语言中三种数据类型转换之比较", 《办公自动化》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106649318A (zh) * | 2015-10-29 | 2017-05-10 | 北京国双科技有限公司 | 一种信息展示的方法及装置 |
CN111683066A (zh) * | 2020-05-27 | 2020-09-18 | 平安养老保险股份有限公司 | 异构系统集成方法、装置、计算机设备和存储介质 |
CN111683066B (zh) * | 2020-05-27 | 2023-06-23 | 平安养老保险股份有限公司 | 异构系统集成方法、装置、计算机设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN104778243B (zh) | 2018-12-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100583920C (zh) | 测试脚本的生成方法及装置和测试方法及装置及系统 | |
CN108304328B (zh) | 一种众包测试报告的文本描述生成方法、系统及装置 | |
CN104991955A (zh) | 一种自动构建模板库的方法及系统 | |
CN109272571B (zh) | 一种PDS三维数据转换为Flowmaster模型的系统和方法 | |
CN115878003B (zh) | 一种基于Transformer的RPA网页操作自动化方法及系统 | |
CN103605660A (zh) | 一种变电站配置描述文件的图形化处理方法 | |
CN103019691A (zh) | 一种etl作业关系图的转化方法及其实现系统 | |
CN109947635A (zh) | 一种数据上报方法、装置、存储介质及终端设备 | |
CN109376153A (zh) | 一种基于NiFi的数据写入图数据库的系统及方法 | |
CN108459965B (zh) | 一种结合用户反馈和代码依赖的软件可追踪生成方法 | |
CN104778243A (zh) | 一种字符型数据转换成数值型数据的方法和装置 | |
CN109117564B (zh) | 一种pds三维模型转换relap5模型的系统和方法 | |
CN105302827A (zh) | 一种事件的搜索方法和设备 | |
CN114090582A (zh) | 生成领域模型的方法、装置、设备、存储介质及程序产品 | |
US20210133657A1 (en) | Task adjustment method, device, equipment and non-volatile storage medium | |
CN111581217B (zh) | 数据检测方法、装置、计算机设备和存储介质 | |
CN106095443A (zh) | 一种基于c/c++代码库的api调用模式挖掘方法 | |
TWI402705B (zh) | 積體電路元件之模擬實例產生方法與裝置 | |
CN111984673A (zh) | 一种电网电能量计量系统树形结构模糊检索方法和装置 | |
CN105718471A (zh) | 用户偏好建模方法、系统及用户偏好评估方法、系统 | |
CN116595044A (zh) | 数据库选择率计算的优化方法、存储介质与设备 | |
CN111813648A (zh) | 一种应用于App的自动化测试方法、装置、存储介质及电子设备 | |
CN115757479A (zh) | 数据库的查询优化方法、机器可读存储介质与计算机设备 | |
CN113656292A (zh) | 一种多维度跨时空基础软件性能瓶颈检测方法 | |
CN112433710A (zh) | 一种区块链智能合约生成方法、设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
EXSB | Decision made by sipo to initiate substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20181221 Termination date: 20210409 |
|
CF01 | Termination of patent right due to non-payment of annual fee |