php - SQL 数据库是否返回类型,或者数据库抽象层是否执行隐式转换?(推进和php)
问题描述
100
从具有类型的列中获取结果的简单 Propel 查询VARCHAR
返回一个字符串。这是预期的行为。我正在使用遗留系统,并且知道我需要将这些值转换为 phpinteger
类型,以便以编程方式对它们进行排序或执行算术等。
数据库是否显式返回 a VARCHAR
,如果是,这对于弱类型语言如何工作?
或者,DBAL 是否查看列类型并在此基础上执行隐式转换?
换句话说:SQL 中的列类型是否只是由 DBAL 解释的“标签”或“标签”,然后根据语言进行适当的转换?
为了保持问题的具体性,我想要一个关于:Propel
和php
的答案MySQL
。
解决方案
如果我对您的理解正确,您是在询问数据库是否使用二进制格式来存储数据。是的,它确实。数据库和应用程序之间的层决定了返回给应用程序的格式。
它实际上与您的问题正好相反 - DBAL 接收输入的信息,然后将其转换为应用程序可以处理的任何内容。
推荐阅读
- loops - 空手道 API 框架有没有办法遍历子值
- spring - spring boot - 没有主要工件
- powershell - Powershell New-LocalUser 无法正常工作
- java - 是否有从其他 Activity 类访问 MainActivity 的解决方案?
- java - spark-submit: java.lang.NoSuchMethodError: org.apache.spark.SparkContext$.$lessinit$greater$default$6()Lscala/collection/Map;
- r - 使用roxygen2生成命名空间:一个小例子或模板
- angular - 如何在 Highcharts 中将图像用于图表
- android - lateinit 属性 ViewModelFactory 尚未初始化
- python - SQL查询如何使用两个日期变量?'date' 和 regexp_replace('date', '-', ''),1,8)
- r - 在 R 3.6.1 中安装包的问题