暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

MySQL date/timestamp类型和空串union all行为

原创 姚崇 2023-10-03
163

MySQL date/timestamp类型union all转换为char类型

mysql> create table curr select current_date from dual;
Query OK, 1 row affected (0.00 sec)
Records: 1  Duplicates: 0  Warnings: 0

mysql> desc curr;
+--------------+------+------+-----+---------+-------+
| Field        | Type | Null | Key | Default | Extra |
+--------------+------+------+-----+---------+-------+
| current_date | date | NO   |     | NULL    |       |
+--------------+------+------+-----+---------+-------+
1 row in set (0.00 sec)

create table uni as 
select current_date as a from dual
union all
select '' as a from dual;

mysql> create table uni as 
    -> select current_date as a from dual
    -> union all
    -> select '' as a from dual;
Query OK, 2 rows affected (0.00 sec)
Records: 2  Duplicates: 0  Warnings: 0

mysql> desc uni;
+-------+-------------+------+-----+---------+-------+
| Field | Type        | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+-------+
| a     | varchar(10) | NO   |     |         |       |
+-------+-------------+------+-----+---------+-------+
1 row in set (0.00 sec)

PostgreSQL/LightDB需要强制换换

create table uni as 
 select cast(current_date as char) as a from dual
 union all
 select '' as a from dual;

\d uni
                     Table "tcmp_gy.uni"
 Column |       Type        | Collation | Nullable | Default 
--------+-------------------+-----------+----------+---------
 a      | character varying |           |          | 

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

文章被以下合辑收录

评论