重新格式化非标准日期列

时间:2018-07-27 17:26:45

标签: sql-server

我有一个带有一列日期的表,但是所有格式都为YYYYMMDD,例如20141101。当我选择该列时,我希望数据的格式为YYYY-MM-DD。我希望在查询期间同时发生这种情况,而不必执行更新语句。

2 个答案:

答案 0 :(得分:1)

  

我想将两个表连接在一起,并在WHERE部分中将日期不匹配的地方放在一起,但是目前无法做到这一点,因为一个日期列的格式为YYYYMMDD,而另一列的格式为YYYY-MM-DD。

现在最简单的连接值的方法是在具有它们的日期值中删除self.trackerInit = whenReady("application:ready") .then(() => startGaTracker("id", 100)); 。这是更少的代码,然后将它们添加到具有它们的日期中。这将允许两个表之间的联接。

请参见Replace

  

REPLACE(string_expression,string_pattern,string_replacement)

具有联接的SQL

-

答案 1 :(得分:0)

在您的问题上,我也有伊戈尔(Igor)提出的关注。您应该仔细考虑这些。但是除了那些...

将最左边的四个数字附加到第5位和第6个数字,然后加上最右边的两个数字...

    declare @datestring as varchar(8) = '20141101'

    select left(@datestring,4) + '-' + substring(@datestring,6,2) + '-' + right(@datestring,2)

如果输入数据的形状发生变化,则此方法会崩溃。