「UNK-JAN-2015」これは私の日付値です。UNK は不明な値を示します。今、私はそれから1か月だけ取得する必要があります。見つける方法はありますか……。
2511 次
5 に答える
3
SELECT
RIGHT(DateString, 4) [Year],
LEFT(RIGHT(DateString, 8), 3) [Month]
FROM YourTable
于 2015-03-10T10:36:47.267 に答える
0
実際の月の値を取得するには、文字列の月の部分を構成する 3 文字を単純に取得するのではなく、文字列操作を使用して日付に変換し、そこから月を抽出できます。
DECLARE @val NVARCHAR(15) = 'UNK-JAN-2015'
SELECT CONVERT(DATETIME, RIGHT(@val, 4) + '-' + SUBSTRING(@val, 5, 3)) AS TheDate,
MONTH(CONVERT(DATETIME, RIGHT(@val, 4) + '-' + SUBSTRING(@val, 5, 3))) MonthNumber,
DATENAME(MONTH,
CONVERT(DATETIME, RIGHT(@val, 4) + '-' + SUBSTRING(@val, 5, 3))) [MonthName]
出力:
TheDate MonthNumber MonthName
2015-01-01 00:00:00.000 1 January
これは、値が常に同じ形式であることを前提としていますXXX-MMM-YYYY
(XXX はプレフィックスです)。
于 2015-03-10T11:11:17.890 に答える