在Sql 2005中将日期时间转换为其他日期时间格式的Sql查询?
“我的日期时间”列为MM/dd/yyy格式。我希望这是在dd/MM/yyyy转换,我能够将此日期时间转换为narchar在Sql 2005中将日期时间转换为其他日期时间格式的Sql查询?,sql,datetime,format,Sql,Datetime,Format,“我的日期时间”列为MM/dd/yyy格式。我希望这是在dd/MM/yyyy转换,我能够将此日期时间转换为narchar select convert(nvarchar,columnname,103) from dbo.table 我得到的答案像“dd/MM/yyyy”,但它是字符串。如果我写datetime代替nvarchar 我得到“yyyy-MM-dd”whaa是获得“dd/MM/yyyy”的查询 退房 请参阅Microsoft关于日期格式的说明 你要找的是20或120 顺便说一句,您应
select convert(nvarchar,columnname,103) from dbo.table
我得到的答案像“dd/MM/yyyy”,但它是字符串。如果我写datetime代替nvarchar
我得到“yyyy-MM-dd”whaa是获得“dd/MM/yyyy”的查询
退房
请参阅Microsoft关于日期格式的说明
你要找的是20或120
顺便说一句,您应该为varchar提供这样的数字
varchar(10)
为什么要将datetime替换为nvarchar?这是因为datetime
作为datetime
没有格式。datetime
值包含日期的内部数字表示形式。只有在将日期时间转换为字符串或从字符串转换为日期时间时,格式才起作用。同时,它将日期时间视为字符串,并相信它们有一种格式,大多数与日期相关的bug都会产生。如果您避免在数据库本身中进行任何格式化,请尽量这样做。因为nvarchar是一个字符串,我将它放在c#中的windows窗体datagridview中。我希望此样式输入到DataGridView中,在c#中进行格式化和解析,尽可能靠近用户-尽早输入,尽可能晚输出。在其他地方,将其保留为datetime
,并记住这些项没有格式。