小编Thi*_*han的帖子

mysql STR_TO_DATE无效

我有一个varchar名为列的表birthday

CREATE TABLE IF NOT EXISTS `test` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `birthday` varchar(30) COLLATE utf16_unicode_ci NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB  DEFAULT CHARSET=utf16 COLLATE=utf16_unicode_ci AUTO_INCREMENT=5 ;

INSERT INTO `test` (`id`, `birthday`) 
VALUES (1, '20041225'),
       (2, '2004-12-25'),
       (3, '19941225'),
       (4, '19941201');
Run Code Online (Sandbox Code Playgroud)

我尝试运行此查询:

SELECT str_to_date(birthday,"%Y%m%d") 
FROM `test` 
WHERE 1
Run Code Online (Sandbox Code Playgroud)

但它总是返回具有空值的行.

如果我运行查询:

SELECT str_to_date('20141225',"%Y%m%d") 
FROM `test` 
WHERE 1
Run Code Online (Sandbox Code Playgroud)

它会回来 2014-12-25

那我的查询有什么问题?

mysql str-to-date

3
推荐指数
1
解决办法
9445
查看次数

标签 统计

mysql ×1

str-to-date ×1