可以简化此查询(MSSQL)吗?
SELECT RIGHT(STR(MONTH('2014-05-02'))+100,2) + '-'
+ RIGHT(STR(DAY('2014-05-02'))+100,2)
我想要从某个日期开始的月份和日期,但如果月/日中只有一位数,则始终使用前导零。在此日期2014-05-02
我只想05-02
。我可以用这个查询做到这一点,但我不知道是否有一个简单的方法...
答案 0 :(得分:1)
SELECT CONVERT(CHAR(5), GETDATE(), 10)
结果:
05-23
答案 1 :(得分:0)
请尝试:
select RIGHT(CONVERT(nvarchar(10), GETDATE(), 126), 5)
例如,
select RIGHT(CONVERT(nvarchar(10),CONVERT(DATETIME, '2014-5-2'), 126), 5)
答案 2 :(得分:0)
试试这个......
SELECT LEFT(CONVERT(VARCHAR(10), GETDATE(), 110),5)
OR
SELECT LEFT(CONVERT(VARCHAR(8), GETDATE(), 10),5)
两者都返回相同的结果如下
RESULT: 05-23
答案 3 :(得分:0)
我喜欢使用格式。
如果你有一个字符串:
select format(convert(date, '2014-05-23', 126),'MM-dd');
如果您有约会日期:
select format(GetDate(),'MM-dd');
答案 4 :(得分:0)
这可以真的帮助你。
DECLARE @A DATETIME = GETDATE()
SELECT CONVERT(VARCHAR(5),@A,110)