Как создать SQL STATEMENT для разделения даты и добавления строки между датами - PullRequest
1 голос
/ 31 октября 2019

Я хочу разделить дату и добавить нужные строки между частями даты.

DECLARE @date112 varchar(10), @batchdate varchar(10)
SET @date112 = ''
SET @batchdate = ''
SELECT @date112 = CONVERT(VARCHAR(8), GETDATE(), 112) -- date format 
YYYYMMDD

Это мой ожидаемый результат: «2019 年 10 月 31 日» или «2019 год 10 месяцев 31 день»

Ответы [ 3 ]

3 голосов
/ 31 октября 2019

Вы можете использовать функцию FORMAT следующим образом:

SELECT FORMAT(GETDATE(), 'yyyy\y\e\a\r MM\m\o\n\t\h dd\d\a\y') -- 2019year 10month 31day
     , FORMAT(GETDATE(), N'yyyy年 MM月 dd日')                   -- 2019年 10月 31日
1 голос
/ 31 октября 2019

кажется, что вы используете sql server, поэтому вы можете использовать функцию год, месяц и день, а затем concat

select cast(year(getdate()) as varchar) + ' year '+ 
cast(month(getdate()) as varchar)+' month '+
cast(day(getdate()) as varchar)+'day'

демонстрационная ссылка

0 голосов
/ 31 октября 2019

Вы можете попробовать:

SELECT
    CONVERT(VARCHAR(4), GETDATE(), 112) + 'year ' +
    SUBSTRING(CONVERT(VARCHAR(8), GETDATE(), 112), 5, 2) + 'month ' +
    RIGHT(CONVERT(VARCHAR(8), GETDATE(), 112), 2) + 'day';

Это печатает:

2019year 10month 31day

Демо

Чтобы установитьрезультат этого запроса к пользовательской переменной:

@date112 = (SELECT
    CONVERT(VARCHAR(4), GETDATE(), 112) + 'year ' +
    SUBSTRING(CONVERT(VARCHAR(8), GETDATE(), 112), 5, 2) + 'month ' +
    RIGHT(CONVERT(VARCHAR(8), GETDATE(), 112), 2) + 'day');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...