2

現在、日時ではなく varchar として日付という列があります。フォーマットは現在「sep12」です。これを日付型に転送するにはどうすればよいですか? これがテンプレートであることはわかっていますが、現在の形式が MMMYY であるため、数字を何に変更すればよいかわかりません。

CAST (
    SUBSTRING(date, 3, 2) + '/' +
    SUBSTRING(date, 1, 2) + '/' +
    SUBSTRING(date, 5, 4) 
AS DATETIME) 

どんな助けでも大歓迎です

日付欄で並べると現時点では apr09, apr10 のような順番になっています。8月9日、8月10日ですが、年順にする必要があります

4

1 に答える 1

2

まず、この方法で日付を保存するのはひどい考えです。ただし、年が常に始まることがわかっている場合は、次の20ようなものを使用できます(SQL Fiddleデモを参照)。

declare @dt varchar(10) = 'Sep12'

select convert(datetime, left(@dt, 3) + '01 20' + right(@dt, 2), 100)

テーブルからデータをプルする場合:

select convert(datetime, left(yourDateField, 3) + '01 20' + right(yourDateField, 2), 100)
from yourTable
于 2012-09-24T10:25:13.123 に答える