【发布时间】:2021-03-12 23:20:47
【问题描述】:
例如使用以下查询:
SELECT first_name, last_name, TO_CHAR(birthday, 'MM/DD/YYYY') as birthday FROM master
有什么方法可以让我放弃 TO_CHAR 声明并让数据库自动为我转换值?我一直在尝试找到一个动态解决方案,以便它自动转换每个表中 DATE 列中的任何值,但无济于事。
理想情况下,我只想运行以下查询:
SELECT first_name, last_name, birthday FROM master
以所需格式获取所有值。是否也可以反之亦然:
INSERT INTO master (first_name, last_name, birthday)
VALUES (:first_name, :last_name, TO_DATE(:birthday, 'MM/DD/YYYY'))
到:
INSERT INTO master (first_name, last_name, birthday)
VALUES (:first_name, :last_name, :birthday)
【问题讨论】:
-
这个答案可能对你有帮助:stackoverflow.com/a/50164234/14853083
-
MM/DD/YYYY不是存储的好格式,因为搜索和比较很复杂。使用YYYY-MM-DD或YYYYMMDD。 -
@AbraCadaver - 给定 OP,很明显该列是 DATE,而不是 CHAR 或 VARCHAR。所以它 不 以 'MM/DD/YYYY' 或任何其他字符格式存储。他想知道如何将 from 字符串格式 转换为 DATE 类型,而不必使用 TO_CHAR 或 TO_DATE。