为什么在phpMyAdmin中执行CONVERT查询会出现报错?
报错根本原因
你使用的CONVERT(varchar(15),'9:30',100)是SQL Server数据库的专属语法,而phpMyAdmin默认对接的是MySQL/MariaDB数据库,二者的CONVERT函数语法规则不兼容,所以会触发语法报错。
二者语法差异如下:
- SQL Server的
CONVERT用法:CONVERT(目标数据类型, 待转换值, 样式码),你语句中的100是SQL Server独有的时间格式化样式码,varchar是SQL Server的字符串类型声明方式。 - MySQL/MariaDB的
CONVERT用法:CONVERT(待转换值, 目标数据类型),不支持第三个样式码参数,字符串类型统一使用char声明。
适配MySQL的修正方案
场景1:仅需要把'9:30'转换为15位长度的字符串
直接使用以下语句即可:
SELECT CONVERT('9:30', CHAR(15));
场景2:需要实现SQL Server中样式码100对应的时间格式化效果
需要使用MySQL专属的DATE_FORMAT函数实现,示例语句如下:
SELECT DATE_FORMAT('9:30', '%b %d %Y %h:%i %p');
内容的提问来源于stack exchange,提问作者gellooo
相关产品推荐
相关产品推荐

