【问题标题】:Change date month from Hijri to Gregorian将日期月份从回历更改为公历
【发布时间】:2021-06-21 21:40:51
【问题描述】:

我有一个表格,其中有两列名称分别为“月”和“年”

这里分别有值“4”和“1438”,这两个列的值都来自回历。

现在我想将表中月份的所有值从回历更改为公历。

我只是尝试以这种方式为一个值这样做,

select convert(datetime, value, 131)
from (
    values ('01-04-1424  9:54:59:767AM')
    ) samples(value)  

已成功改成“2003-06-01 09:54:59.767”

但是如何更改表中月份列的所有值,我的表名为“Employ”

希望您的建议。

【问题讨论】:

    标签: sql sql-server datetime sql-server-2012 date-conversion


    【解决方案1】:

    你必须替换列名而不是值

     SELECT CONVERT(DATETIME, concat('01-', month_column,'-', year_column), 131) FROM Employ
    

    【讨论】:

    • 它是直接转换月份列值还是我会看到会有什么变化?
    • 这是仅选择查询。您可以运行并检查您期望的输出
    • 是的,它运行良好,但我只需要转换后的月份值,就像我只有月份列一样。转换后它只显示月份
    • 分享你想要的输出。我没明白你在问什么。
    • 感谢您的查询,我使用格式仅获取月份值。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-22
    • 1970-01-01
    • 1970-01-01
    • 2023-03-20
    相关资源
    最近更新 更多