【问题标题】:Get the date from a column as dd.mm.yyyy从列中获取日期为 dd.mm.yyyy
【发布时间】:2014-07-06 10:59:26
【问题描述】:

如果我有两个这样的表:

CREATE TABLE Director
(
   `DirectorNr` INTEGER NOT NULL,
   `First Name` VARCHAR (20),
   `Last Name` VARCHAR (30),
   `Age` INTEGER,
   `Movies` INTEGER,
   PRIMARY KEY(DirectorNr)
 );

CREATE TABLE Movies
(
   `MovieNr` INTEGER NOT NULL,
   `Title` VARCHAR (100),
   `Genre` VARCHAR (30),
   `USK` INTEGER,
   `Director` INTEGER NOT NULL,
   `Length` INTEGER,
   `Release` DATE,
   PRIMARY KEY (MovieNr),
   FOREIGN KEY (Director)
           REFERENCES Director (DirectorNr)
);

INSERT INTO Director 
VALUES (1, 'Peter', 'Jackson', 52, 17);

INSERT INTO Movies 
VALUES (1, 'The Hobbit: An Unexpected Journey', 'Fantasy', 12, 1, 169, '2012/12/12');

如何使用 SELECT 查询以这种格式获取日期(发布):dd.mm.yyyy

我试过这个https://stackoverflow.com/a/24292832,但它对我不起作用。

是否也可以将日期插入为dd.mm.yyyy

【问题讨论】:

  • 考虑用显示日期来格式化日期(例如使用 PHP,如果你使用它的话)。
  • Tuksn: 2012/12/12 ... 什么是月,什么是日?

标签: sql mysqli


【解决方案1】:

使用DATE_FORMAT()

select date_format(Release, '%d.%m.%Y')
from movies

日期总是以相同的方式存储。您可以更改选择查询中的表示。

【讨论】:

    【解决方案2】:

    试试这个;)

    INSERT INTO Movies 
     VALUES (1, 'The Hobbit: An Unexpected Journey', 'Fantasy', 12, 1, 169,
      STR_TO_DATE('2012/12/12', '%Y/%m/%d'));
    

    对于选择:

    SELECT FORMAT(`Release`, '%d.%m.%Y') FROM Movies
    

    【讨论】:

    • Sql 日期格式?你的代码值得点赞,但开头的段落不值得。
    • +1 的 INSERT 效果很好,但使用 FORMAT 我总是得到 LibreOffice Base 无用的值。 date_format 效果很好。
    • 什么是“无用价值”?
    • 20,121,212,我的例子。
    • 显示你的 sql 查询 ;)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-23
    • 1970-01-01
    • 2020-02-05
    • 2022-01-15
    相关资源
    最近更新 更多