【问题标题】:SQL: Converting data in date columnsSQL:转换日期列中的数据
【发布时间】:2014-05-13 15:46:48
【问题描述】:

我有很多带有日期字段的表格,例如[到期日期]、[到期日期]等。
日期格式为2014-08-06。

我有直接从数据库读取数据的标签软件。例如,它会提取一条记录并打印出'Use by:' [Expiration Date]。

遵循适当的文档标准,此到期日期和所有其他日期字段应采用以下格式:

2014 年 8 月 6 日

每个表为每个日期字段创建重复字段并运行将数据复制并转换为新数据的查询是实现此目的的唯一合理方法varchar 字段?

【问题讨论】:

  • 你能把这个软件指向一个存储过程吗?还是风景?
  • 什么软件在读取数据?为什么它不能做像格式化输出日期这样简单的事情?为什么不能自定义用于检索数据的查询?你总是可以创建一个VIEW 并指向它...我猜 VIEW 应该返回已经格式化的字符串而不是日期。
  • date 本身没有任何代表。
  • 谷歌搜索“ms 访问日期格式”将我引向这个。 techonthenet.com/access/functions/date/format.php
  • 如果在查询本身中执行此操作并不容易,我将创建一个视图来修改字段,就像@ebyrob 的建议一样。

标签: sql sql-server tsql ms-access ssms


【解决方案1】:

要在 MS Access 中执行此操作,您需要使用 Format 命令。

它将采取以下形式:

格式(我的日期,“dd/mmm/yyyy”)

月份的 mmm 将月份显示为缩写字符串。

更多:http://www.techonthenet.com/access/functions/date/format.php

【讨论】:

    【解决方案2】:

    当从 SQL 本身中选择日期时,您可以使用 CONVERT 函数将日期时间字段转换为特定格式:

    SELECT CONVERT(VARCHAR, GETDATE(), 106)
    

    106 是一个转换为长日期格式的代码。所以今天,这给了我:

    13 May 2014
    

    要使用它,只需将其合并到您的 select 语句中,并可能使用 AS 提供别名:

    SELECT
    ID,
    CONVERT(VARCHAR, [Due Date], 106) as 'DueDate'
    FROM [myTableName]
    

    【讨论】:

    • @DanBracuk 不知道。这个问题也用 tsql 标记,它肯定会工作
    【解决方案3】:

    如上所述,最好的方法是让您的软件格式化日期

    如果这是不可能的并且写入权限是可以协商的,您可能希望用视图替换您对表格的使用

    Create view v_SelectVisits
    AS
    select 
        ID
        , DateTimeIn as DateTimeIn_old
        , CONVERT(VARCHAR, DateTimeIn, 106) as  DateTimeIn 
    from visit
    GO
    select * from v_SelectVisits
    

    如果视图不适合您,您可以在您的所有日期的表格中添加一个计算列您确定不能选择选项 #1?

    Alter Table MyTable
    Add DateTimeIn_C as CONVERT(VARCHAR, DateTimeIn, 106)
    

    【讨论】:

    • 为什么要添加一个计算列,您可以根据我的示例直接转换选择输出?
    • 如果他无法更改拉取数据的 SQL,而只能“附加到表”,那么他可能不得不求助于这个。听起来他对消耗数据的程序几乎没有控制权。我喜欢你的建议,并且在改变桌子之前绝对会这样做。但据我所知,我们都同意,如果可能的话,让 GUI 格式化日期!
    • 很公平。没有足够的背景资料来评估最佳选择。但是更改表格确实应该是最后的手段——如果他能做到,我相信他也有权构建视图或更改 select 语句。
    猜你喜欢
    • 2014-07-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多