如何在mysql中更改数据类型DATETIME的字符集?

如何在mysql中更改数据类型DATETIME的字符集?,mysql,sql,datetime,character-encoding,Mysql,Sql,Datetime,Character Encoding,我正在尝试运行一个查询,其中包括将unicode字符串与某些列进行比较。为此,我需要更改DATETIME类型列的字符集和字符编码。但当我执行以下查询时: ALTER TABLE licenses CHANGE expires_at expires_at DATETIME DEFAULT NULL CHARACTER SET utf8 COLLATE utf8_unicode_ci; 我得到一个错误,如下所示: ERROR 1064 (42000): You have an error in y

我正在尝试运行一个查询,其中包括将unicode字符串与某些列进行比较。为此,我需要更改DATETIME类型列的字符集和字符编码。但当我执行以下查询时:

ALTER TABLE licenses CHANGE expires_at expires_at DATETIME DEFAULT NULL CHARACTER SET utf8 COLLATE utf8_unicode_ci;
我得到一个错误,如下所示:

ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'CHARACTER SET utf8 COLLATE utf8_unicode_ci' at line 1
但对于以下更改VARCHAR类型列的字符集的查询,效果非常好:

ALTER TABLE customers CHANGE DEFAULT NULL name name VARCHAR(255) CHARACTER SET utf8 COLLATE utf8_unicode_ci;

如何更改DATETIME类型的mysql列的字符集?

DATETIME不是数据类型的字符,因此您无法更改其字符集。非常感谢@Mella的即时响应。但现在我尝试对unicode字符串和DATETIME列使用LIKE操作。那么,我该如何解决这种情况呢?不管怎样,我现在可以想到的一个选项是将筛选器查询更改为ASCII as DATETIME列,因为它不会包含unicode字符。这是可以预期的。因此,我使用原始的\u filter\u查询来过滤启用unicode的列,并使用从原始的\u filter\u查询转换而来的ascii\u filter\u查询,忽略datetime列上的unicode。