如何创建SQL STATEMENT以分割日期并在日期之间添加字符串

问题描述 投票:1回答:3

我想分割日期并在日期之间添加所需的字符串。

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日”

sql sql-server tsql date
3个回答
0
投票

您可以尝试:

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

Demo

将查询结果设置为用户变量:

@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');

3
投票

您可以像这样使用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
投票

似乎您正在使用sql server因此您可以使用年,月和日功能,然后使用concat

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

demo link

© www.soinside.com 2019 - 2024. All rights reserved.