只有一个SQL查询,其日期格式为:
"2018-05-31"
需要将其转换为:
"May-18"
答案 0 :(得分:3)
您可以使用Format功能
json()
答案 1 :(得分:2)
尝试一下:
SELECT LEFT(DATENAME(MONTH,GETDATE()),3) + '-' + RIGHT('00' + CAST(YEAR(GETDATE()) AS VARCHAR),2)
答案 2 :(得分:2)
SELECT FORMAT(GETDATE(),'MMM yy')
答案 3 :(得分:1)
您可以尝试以下方式
Declare @Date DateTime = '2018-05-31'
Select Format(@Date, N'MMM-yy')
答案 4 :(得分:0)
FORMAT
可能非常慢。这看起来似乎不太直观,但是,如果您有大型数据集,则可能会更快:
SELECT STUFF(STUFF(CONVERT(varchar(11),GETDATE(),13),1,3,''),4,3,'-');
答案 5 :(得分:0)
这可以工作:
declare @date date = '2018-05-31'
select *, FORMAT(DATEFROMPARTS(1900, right(YearMonthKey,2), 1), 'MMMM', 'en-US') +'-'+ substring(YearMonthKey,3,2) as MonthYearName from (
select LEFT(CAST(CONVERT(VARCHAR(8), @date, 112) AS INT),6) as YearMonthKey
)x
答案 6 :(得分:0)
我将使用convert()
和样式代码6
:
select replace(substring(convert(varchar(12), datecol, 6), 4, 6), ' ', '-')
答案 7 :(得分:0)
您可以通过更改会话以重新设置nls_date_format来随时更改日期或时间戳列的显示方式。这将在SQL * Plus或PL / SQL中工作:
alter session set nls_date_format = 'MON-YY';