MYSQL如何查询表中字段类型TYPE=date的字段信息?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MYSQL如何查询表中字段类型TYPE=date的字段信息?相关的知识,希望对你有一定的参考价值。

例如,查询表结构的语句为:DESC tablename
在查询的结果中发现该表中有几个字段类型TYPE=date,
那么,此时如何用语句查询出那些TYPE=date的字段信息?
并不是想查出具体值。
前提是:我只知道这个表名=“tablename”,我想查出这个表中有几个字段是date类型的。
然后拿着这些查出的date类型的字段名称再去表中查出对应的所有记录。

使用mysql_fetch_field
以下是例子.
mysql_fetch_field() 可以用来从某个查询结果中取得字段的信息。如果没有指定字段偏移量,则下一个尚未被 mysql_fetch_field() 取得的字段被提取。

对象的属性为:

name - 列名
table - 该列所在的表名
max_length - 该列最大长度
not_null - 1,如果该列不能为 NULL
primary_key - 1,如果该列是 primary key
unique_key - 1,如果该列是 unique key
multiple_key - 1,如果该列是 non-unique key
numeric - 1,如果该列是 numeric
blob - 1,如果该列是 BLOB
type - 该列的类型
unsigned - 1,如果该列是无符号数
zerofill - 1,如果该列是 zero-filled
=========
<?php
mysql_connect('localhost:3306', $user, $password)
or die("Could not connect: " . mysql_error());
mysql_select_db("database");
$result = mysql_query("select * from table")
or die("Query failed: " . mysql_error());
/* get column metadata */
$i = 0;
while ($i < mysql_num_fields($result))
echo "Information for column $i:<br />\n";
$meta = mysql_fetch_field($result);
if (!$meta)
echo "No information available<br />\n";

echo "<pre>
blob: $meta->blob
max_length: $meta->max_length
multiple_key: $meta->multiple_key
name: $meta->name
not_null: $meta->not_null
numeric: $meta->numeric
primary_key: $meta->primary_key
table: $meta->table
type: $meta->type
unique_key: $meta->unique_key
unsigned: $meta->unsigned
zerofill: $meta->zerofill
</pre>";
$i++;

mysql_free_result($result);
?>
参考技术A SELECT `datefield` FROM `tablename` WHERE 1

SELECT * FROM `tablename` WHERE `datefield`='2011-03-01'

以上是关于MYSQL如何查询表中字段类型TYPE=date的字段信息?的主要内容,如果未能解决你的问题,请参考以下文章

MySQL 用 BETWEEN AND 日期查询包含范围边界

如何查询oracle数据库表字段

如何在 Vuetify 文本字段中更改 type=date 的时间戳格式

sql查询 自定义类型中某字段类型

mysql中如何查询一周(周一至周日)和一个月(自然月)销售数据(字段-sale)的总和,时间字段是date

mysql查询表字段设计和注释