我想分割日期并在日期之间添加所需的字符串。
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日”
您可以尝试:
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');
您可以像这样使用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日
似乎您正在使用sql server因此您可以使用年,月和日功能,然后使用concat
select cast(year(getdate()) as varchar) + ' year '+
cast(month(getdate()) as varchar)+' month '+
cast(day(getdate()) as varchar)+'day'