MYSQL Datetime作为varchar以及如何仅显示年份
我有一个应用程序,其中Musicalbums的发布日期作为MYSQL Datetime作为varchar以及如何仅显示年份,mysql,sql,datetime,Mysql,Sql,Datetime,我有一个应用程序,其中Musicalbums的发布日期作为Varchar保存到MySQL数据库中(我对此没有影响),因此它显示的日期类似于(2014-09-11)。我如何才能使发布日期只显示为(2014)?我必须将其转换为DATETIME 我的MySQl查询如下所示: SELECT products.pro_id, products.title AS album_title, products.genre AS album_genre,
Varchar
保存到MySQL数据库中(我对此没有影响),因此它显示的日期类似于(2014-09-11)。我如何才能使发布日期只显示为(2014)?我必须将其转换为DATETIME
我的MySQl查询如下所示:
SELECT products.pro_id,
products.title AS album_title,
products.genre AS album_genre,
products.coverarttoenailurl AS cover_image,
products.ccws_pro_id AS product_upc,
track_title,
track_duration,
album_id,
physicalReleaseDate,
digitalReleaseDate
FROM products
INNER JOIN track_albumn_information
ON products.ccws_pro_upc = track_albumn_information.product_upc
AND track_albumn_information.artist_id ='".$artist_id."'
ORDER BY physicalReleaseDate, digitalReleaseDate DESC
相关字段为physicalReleaseDate
和digitalReleaseDate
请帮助任何人…试试这个…使用mysql的年份函数作为参考
因为它是varchar列,所以使用LEFT函数
LEFT(physicalReleaseDate,4)
可以使用LEFT()从字符串的左侧返回指定数量的字符,即
LEFT(digitalReleaseDate,4)
LEFT(digitalReleaseDate,4)
YEAR(STR_TO_DATE(datecolumn,'%Y-%m-%d'))
SUBSTR(physicalReleaseDate, 1, 4)
SUBSTR(digitalReleaseDate, 1, 4)