在MySQL视图中转换计算列

时间:2010-06-02 05:49:34

标签: mysql

我有一个包含计算列的视图。有没有办法将其转换为CHAR或VARCHAR而不是VARBINARY?显然,我已经尝试过使用CAST(...作为CHAR)但它会出错。

这是一个简单的可复制示例。

CREATE VIEW view_example AS 
SELECT concat_ws('_', lpad(9, 3,'0'), lpad(1,3,'0'), date_format(now(),'%Y%m%d%H%i%S'))
AS calculated_field_id;

这就是我的观点的创建方式:

describe view_example;
+---------------------+---------------+------+-----+---------+-------+
| Field               | Type          | Null | Key | Default | Extra |
+---------------------+---------------+------+-----+---------+-------+
| calculated_field_id | varbinary(27) | YES  |     | NULL    |       |
+---------------------+---------------+------+-----+---------+-------+

 select version();
+-----------------------+
| version()             |
+-----------------------+
| 5.0.51a-community-log |
+-----------------------+

1 个答案:

答案 0 :(得分:0)

创建视图view_example AS SELECT CAST(“”+ concat_ws('_',lpad(9,3,'0'),lpad(1,3,'0'),date_format(now(),'%​​Y %m%d%H%i%S'))AS CHAR)AS calculated_field_id;

我不知道为什么。如果你离开演员阵容,那就变成了双倍。 MySQL:笑一分钟。