Как получить год и месяц отдельно от этой строки в SQL Server?

У меня есть этот формат строки мм / гггг-

01/2010

Как я могу получить месяц и год отдельно от него. Я хочу это отдельно 01 и 2010, чтобы я мог их сравнить?

3 ответа

Решение

Пример:

declare @d char(7);
declare @Month varchar(2);
declare @Year varchar(4);

set @d = '01/2010';

SET @Month = LEFT(@d, 2);
SET @Year = RIGHT(@d, 4);

Это должно соединить вас (предполагается, что @Date представляет вашу строку даты):

DECLARE @SlashPos int;
SET @SlashPos = CHARINDEX('/', @Date);

Declare @Month varchar(2);
Declare @Year varchar(4);

SET @Month = SUBSTRING(@Date, 1, @SlashPos - 1);
Set @Year = SUBSTRING(@Date, @SlashPos + 1, LEN(@Date) - @SlashPos);

С этой точки зрения, @Month а также @Year будет содержать строки, представляющие месяц и год.

Проверить справку по функциям подстроки и charindex

Другие вопросы по тегам