现在,我的代码对日期字段进行以下转换:
convert(varchar, Citation.PublishedOn, 101)
但是,这会返回 03/01/2010 之类的日期。请求是将日期显示为 3/1/2010(不带前导零,但带有 4 位数年份)。我看过http://msdn.microsoft.com/en-us/library/ms187928.aspx我没有看到任何明确排除前导零的内容。
如何设置日期格式以排除前导零?
最佳答案
这就是我要做的:
DECLARE @dt datetime
SET @dt= Citation.PublishedOn
SELECT LTRIM(STR(MONTH(@dt)))+'/'+LTRIM(STR(DAY(@dt)))+'/'+STR(YEAR(@dt),4)
您选择日期,然后从中提取日、月和年,并使用 ltrim()
去掉月份和日的前导零。
如果你不想声明变量,可以这样做
SELECT LTRIM(STR(MONTH(Citation.PublishedOn)))+'/'+LTRIM(STR(DAY(Citation.PublishedOn)))+'/'+STR(YEAR(Citation.PublishedOn),4)
但是,这意味着多次提取相同的值。
关于sql-server - 在SQL Server中,如何将日期转换为M/D/YYYY格式的字符串? (没有前导零,不是 MM/DD/YYYY),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6128558/