如何从MariaDB中检索任何日期格式为YYYY-MM-DD的数据?

ffscu2ro  于 7个月前  发布在  其他
关注(0)|答案(3)|浏览(82)

我从MariaDB中检索数据,使用:

SELECT * FROM table_name

此数据中的三列包含日期(格式为YYYY-MM-DD格式的日期)。当我在客户端收到它们时,它们显示为“2021-07- 11 T14:00:00.000Z”,但我想要的是“2021-07-11”。我试过很多方法,包括:

SELECT * FROM table_name DATE_FORMAT(date_column_one,'dd/mm/yyyy')

这并不奏效,

SELECT *, DATE_FORMAT(date_column_one,'dd/mm/yyyy') FROM table_name

但这只是增加了另一列数据-我仍然得到了错误格式的其他日期。
网上有很多关于这方面的信息,但我找不到任何地方,他们实际上结合了合并的日期格式与一个基本的选择声明。

laawzig2

laawzig21#

您对DATE_FORMAT的调用没有使用您想要的格式掩码,即yyyy-mm-dd。尝试使用正确的掩码,并且不要通过SELECT *选择日期列:

SELECT col1, col2, col3, ...  -- excluding date_column_one etc. 
       DATE_FORMAT(date_column_one, 'yyyy-mm-dd') AS date_column_one
FROM table_name;
lskq00tm

lskq00tm2#

如果你只想返回一个date,那么你可以使用date函数:

SELECT . . .,  -- the other columns
       DATE(date_column_one)
FROM table_name;

但是,这将返回一个类型为date的列,您将由应用程序决定是否显示它。有些应用程序可能会帮你“忙”,决定你想看到的时间和时区。
您可以通过使用DATE_FORMAT()将值转换为 string 来控制这一点:

SELECT . . .,  -- the other columns
       DATE_FORMAT(date_column_one, '%d/%m/%Y')
FROM table_name;

现在,该值是一个字符串,其格式不会改变。格式'%Y-%m-%d'是标准的YYYY-MM-DD格式,我更喜欢它。

2g32fytz

2g32fytz3#

它似乎使用STRFTIME缩写,您可以在这里找到它们
https://www.programiz.com/python-programming/datetime/strftime

相关问题