Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Sql 2005中将日期时间转换为其他日期时间格式的Sql查询?_Sql_Datetime_Format - Fatal编程技术网

在Sql 2005中将日期时间转换为其他日期时间格式的Sql查询?

在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 顺便说一句,您应

“我的日期时间”列为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


顺便说一句,您应该为varchar提供这样的数字
varchar(10)

为什么要将datetime替换为nvarchar?这是因为
datetime
作为
datetime
没有格式。
datetime
值包含日期的内部数字表示形式。只有在将日期时间转换为字符串或从字符串转换为日期时间时,格式才起作用。同时,它将日期时间视为字符串,并相信它们有一种格式,大多数与日期相关的bug都会产生。如果您避免在数据库本身中进行任何格式化,请尽量这样做。因为nvarchar是一个字符串,我将它放在c#中的windows窗体datagridview中。我希望此样式输入到DataGridView中,在c#中进行格式化和解析,尽可能靠近用户-尽早输入,尽可能晚输出。在其他地方,将其保留为
datetime
,并记住这些项没有格式。