我需要让我的日期是到以下格式:SQL日期格式转换疑问句
12/3/2011
例如,而不是12/03/2011
我目前的结果集使用SQL是:
CONVERT(VARCHAR(10), Created, 105) as Created
我怎么能做到这一点,谢谢!
我需要让我的日期是到以下格式:SQL日期格式转换疑问句
12/3/2011
例如,而不是12/03/2011
我目前的结果集使用SQL是:
CONVERT(VARCHAR(10), Created, 105) as Created
我怎么能做到这一点,谢谢!
CONVERT(CHAR(10), '\'),CONVERT(DATETIME,创建),103)
有一个更好的建议。我想补充的格式功能监守你问的是一个有点少见,
http://www.sqlusa.com/bestpractices2005/centurydateformat/
退房的fnFormatDate。然后你可以用任何你想要的格式对其进行格式化,但它可能/不可能是内联的,你想用语句
REPLACE(CONVERT(VARCHAR(10),Created,105),'\ 0'为创建
在SQL Server中没有标准的日期格式返回数天或数个月的个位数。您可以使用月,日和YEAR功能
-- M/D/Y format (USA)
SELECT CAST(MONTH(@date) AS varchar(2)) + '/'
+ CAST(DAY(@date) AS varchar(2)) + '/'
+ CAST(YEAR(@date) AS varchar(4))
或
-- D/M/Y format (everywhere else)
SELECT CAST(DAY(@date) AS varchar(2)) + '/'
+ CAST(MONTH(@date) AS varchar(2)) + '/'
+ CAST(YEAR(@date) AS varchar(4))
所有这些方法可能会影响性能,如果这是对一个列滚你自己。由于C#和许多其他客户端语言在格式化日期等功能时具有更灵活的功能,因此您应该在客户端层应用此格式。在那里,大概你会循环所有的行,并在你显示它们的时候单独处理值。
保留数据作为数据。比较容易,做数学等。格式化字符串绝对是一种表示层功能。 – Bill 2012-04-02 15:51:40
那是MM/d/yyyy或DD/M/yyyy的? – 2012-04-02 15:23:25
日期格式105是DD/MM/YYYY(意大利风格)。因此海报想要D/M/Y。 – 2012-04-02 15:51:38
虽然问题突出了使用模糊格式的问题。对于* MOST *观众,明确的输出格式更好,例如, 'YYYY-MM-DD'。 – 2012-04-02 15:54:58