php - mysql 如何使用查询获取 varchar 字段中的数据类型。因为它可以将任何数据类型保存为字符串

标签 php mysql

The reason for a second sentence in my question " as it can hold any datatype as string." is to make the question more specific from the view of it so that people will really get the actual picture before going to the answers.

我在发帖并收到 this question 的回复后提出了这个问题。 根据这些答复,我计划这样做。我只是在这里提一下,如果你有时间的话,你可以看一下。因为当前的问题是在那之后提出的。

当前问题如下...

  1. 我有一个 varchar 数据类型的字段。
  2. 默认情况下为空。
  3. 它将保存 null 或字符串(图像的文件名)或该图像上传时间的时间戳值。
  4. 如果为空或者是时间戳值的整数值,那么我想显示 no-image.jpg。
  5. 如果它是一个字符串,那么它就是实际图像,因此我将显示该图像。
  6. 如果该字段包含空数据类型,则尚未上传任何图像。
  7. 如果它是时间戳值,则用户仍在操作他上传的图像。
  8. 如果它是一个字符串,那么这就是准备显示的实际图像。
  9. 上传仅由一个人完成。

所以,我正在执行一个查询,我想知道 varchar 值是空还是整数或字符串。

我不想在 php 中进行更多计算。我希望 sql 中应该有一个选项可以做到这一点。

如果你觉得你想给出两个答案(通过在 sql 中解决它或通过在 php 中解决它),那就太好了。

这是我计划在 php 中执行的操作。

$val = $rs['filename'];
if(is_null($val)) // display a noimage.jpg
else if(is_numeric($val)) // display a noimage.jpg
else // display the actual image.

我在sql中期望的是调用一个函数,如果为空或整数,那么我将使用as关键字和“noimage.jpg”,否则作为实际图像...

选择某个函数(文件名)作为某物.... 如果值为 null 或整数,则该内容应包含 noimage.jpg。 如果该值是一个字符串,那么它应该保存实际的图像名称。

希望我已经说清楚了。

最佳答案

为什么不在表中添加另一列来指定该字段是什么?并不是说这会让听起来非常糟糕的设计变得更好,但它比试图弄清楚你一开始存储的内容更安全。

关于php - mysql 如何使用查询获取 varchar 字段中的数据类型。因为它可以将任何数据类型保存为字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3649598/

相关文章:

mysql - 在MySQL中,如何获得9个select结果的交集?

php - 如何在用户使用ajax取消关注时切换图标

php - fatal error : Cannot redeclare class CLASSNAME error already tried require_once()

mysql - 匹配同一个表 MySQL 上的多行

php - 无法通过 php 脚本进行查询

php - mysql显示汉字像方 block

php - MySQL多服务器任务回退机制

php - Mysql 查询使用 OR 条件进行全文搜索

php - 在 codeigniter 上的选择查询中选择错误

mysql - 如何在 MySQL 数据库中存储社交 ID