php - 如何在 SQL 中将值显示为 Y 或 N?

标签 php mysql mariadb

我正在为中美洲的一家小诊所创建一个数据库。该数据库有一个“访问”表,其中包含数十个字段,用于一系列是或否问题。

我知道在 SQL 中存储二进制值的最佳(最简单、最有效)方法是使用位数据类型( x ),但是我知道我也可以使用 char(1) 数据类型作为“Y”或“N”以使用更多空间为代价( x )。

最初,我计划使用位数据类型并存储 1 表示是,0 表示否,但是我不知道如何在 php 中将此显示为 Y 或 N。

目前,在一个单独的表中,我将 HIV 和糖尿病的值存储为 0 或 1,并在 SQL select 语句中对两个单独的表(1 到 Y 和 0 到 N)执行内部联接。

如果我要继续使用这种技术,那么我需要制作几十个将 1 与 Y 以及 0 与 N 相关的表。这似乎效率低下且非常多余。

有没有一种方法可以将一个表的多个列与一个表关联,将 1 与 Y 以及 0 与 N 关联?我正在使用 PHPmyadmin。

最佳答案

恕我直言,您无需为小型诊所争先恐后地节省 table 空间。以最容易维护的方式编写程序。

通过使用位而不是更简单的列类型,您将节省的数量可能达到数万字节。 (=没有什么可衡量的)。

如果您使用任何类型的 int (tinyint?),您可以在查询中翻译为文本。

 SELECT IF(column=1,'Sí','No') column

例如。

关于php - 如何在 SQL 中将值显示为 Y 或 N?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47947837/

相关文章:

php - 它是什么?用户 'fonok@' localhost' 的访问被拒绝(使用密码 : YES)

mysql - 我可以将 Laravel JSONWhere 子句与 MariaDB 10.2.16 LongText 列一起使用吗?

php - 当值中有逗号时,有没有办法检查整数?

php - 隐藏/保护 php-engine 配置文件的最佳实践?

mysql - Node.js mysql响应格式

java - JDBCRealm 正确配置但未成功连接

Mysql POINT列用于距离搜索

php - 将变量设置为 $_GET 值时出现问题

php - 如何使用 php 在 mysql 中存储链接?

MySql Regexp 结果词已知词的一部分