sql数据库是返回类型,还是数据库抽象层执行隐式转换(推进和php)

ndasle7k  于 2021-06-18  发布在  Mysql
关注(0)|答案(2)|浏览(307)

获取结果的简单查询 100 从类型为的列 VARCHAR 返回字符串。这是预期的行为。我使用的是一个遗留系统,我知道我需要将这些值转换为php integer 键入以便按程序排序或执行算术等。
数据库是否显式返回 VARCHAR 如果是这样的话,那么对于弱类型语言,这是如何工作的呢?
或者,dbal是否查看列类型并在此基础上执行隐式转换?
换言之:sql中的列类型仅仅是由dbal解释的“tag”或“label”,然后dbal根据语言进行适当的强制转换吗?
为使问题具体化,我想回答以下问题: Propel , php 以及 MySQL .

whhtz7ly

whhtz7ly1#

如果我理解正确的话,您会问数据库是否使用二进制格式来存储数据。是的。数据库和应用程序之间的层决定了返回给应用程序的格式。
实际上,这与您的问题正好相反—dbal接收类型化信息,然后将其转换为应用程序可以处理的任何信息。

u5rb5r59

u5rb5r592#

varchar基本上是一种字符类型,它将数字字符串化为字符。sql只允许您将列作为一个整体进行自定义。提取单个值并更改其数据类型是我从未遇到过的一种做法。虽然它真的很强大。希望这能回答你的问题。

相关问题