我有一个包含计算列的视图。有没有办法将其转换为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 |
+-----------------------+
答案 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:笑一分钟。