Sql server SQL Server:是否将日期转换为YYYYMMDD?
我在SQL Server中的一列中有一个日期,示例日期为:Sql server SQL Server:是否将日期转换为YYYYMMDD?,sql-server,date,Sql Server,Date,我在SQL Server中的一列中有一个日期,示例日期为: 10/02/2012 23/11/2012 13/01/2012 10/02/2012 10/02/2012 我尝试了将日期转换为YYYYMMDD DECLARE @v DATE= '1/11/2012' SELECT CONVERT(VARCHAR(10), @v, 112) 我在同一个表中有另一列,我想用YYYYMMDD格式更新日期,这里的问题是日期不正确 并抛出一个错误 DECLARE @v DATE= '23/11/201
10/02/2012
23/11/2012
13/01/2012
10/02/2012
10/02/2012
我尝试了将日期转换为YYYYMMDD
DECLARE @v DATE= '1/11/2012'
SELECT CONVERT(VARCHAR(10), @v, 112)
我在同一个表中有另一列,我想用YYYYMMDD
格式更新日期,这里的问题是日期不正确
并抛出一个错误
DECLARE @v DATE= '23/11/2012'
SELECT CONVERT(VARCHAR(10), @v, 112)
味精241,第16级,状态1,第1行从字符串转换日期和/或时间时,转换失败
非常感谢您的帮助,日期将以dd/mm/yyyy或mm/dd/yyyy的任何顺序出现,它应该能够正确地将其转换为您可以尝试使用以下格式将一种数据类型转换为另一种数据类型。(dd/mm/yyyy到yyyy/mm/dd)
CONVERT(数据类型(长度)、表达式、样式)
以及如下更新
UPDATE table_name SET
destination_column_name=orig_column_name
WHERE condition_if_necessary
如果要在SQL server中插入日期,则需要遵循某些格式。您可以按照
yyyy-MM-dd
或MM-dd-yyyy
对于您的问题,如果您遵循MM dd yyyy
此格式,并且如果您使用SQL server 2012或更高版本,您可以使用此格式并获得结果
DECLARE @v DATE = '11/23/2012';
SELECT FORMAT ( @v, 'yyyy/MM/dd', 'en-US' )
参考这些链接,如果您得到的字符串与dd/mm/yyyy和mm/dd/yyyy不一致,那么您正在打一场败仗。你怎么知道哪个是哪个?2016年10月12日怎么样?这是哪种“格式”,你怎么知道?这就是为什么永远不要将日期存储为varchar。对于这种类型的数据,有一种数据类型要好得多。它被称为日期或日期时间。A)您存储日期的列类型是什么?B) 如果您不知道开始日期的格式,您将如何可靠地格式化输出?例如,2016年4月10日=10月或4月?可能的副本