読者です 読者をやめる 読者になる 読者になる

Hmmss 形式の数値を datetime に変換 (SQL Server)

そもそも数値で日付やら時間やら持つって一体どういうことかと問い詰めたいけど、それは置いておいて。

SELECT
    CONVERT(
        datetime
      , RIGHT('00' + CAST(col / 10000 AS varchar(2)), 2) + ':'
          + RIGHT(CAST(col / 100 AS varchar(4)), 2) + ':'
          + RIGHT(CAST(col AS varchar(6)), 2)
      , 8)
FROM
    SomeTable

これ以外になんかいいやり方ないかなぁ・・・
一番外側で CONVERT 使ってるけど、よく考えたら CAST でもいいのか。

SELECT
    CAST(
      RIGHT('00' + CAST(col / 10000 AS varchar(2)), 2) + ':'
        + RIGHT(CAST(col / 100 AS varchar(4)), 2) + ':'
        + RIGHT(CAST(col AS varchar(6)), 2)
      AS datetime)
FROM
    SomeTable

それにしたって・・・ね。