sqlserver-如何知道日期的格式



hi我正在尝试更新由日期组成的表。由于空格,我遇到了错误。pass程序员给日期字段指定了varchar类型。我想将我的日期转换为这种格式mm/dd/yyyy,但日期字段中似乎到处都是这种类型的日期APRIL 8,2014年的问题是,我怎么知道更新的日期是这种格式的2014年4月8日样本?在将其更新为正确格式之前,例如mm/dd/yyyy

我已经尝试过这个SELECT转换(datetime,date_field,101),但它仍然给出错误

有什么建议吗?

SQL Server中的日期和时间数据类型没有任何隐式格式。它们存储在内部表示中。格式只有在屏幕上或报告等中显示给用户时才适用。在varchar()列中存储日期是前程序员的错误,不应重复。将date类型的新列添加到表中(http://msdn.microsoft.com/en-us/library/bb630352.aspx)。将当前varchar中的值复制到此新列中,边转换边转换。这两种说法都适用于

select CONVERT(date, 'APRIL 8, 2014')
select CONVERT(date, '04/08/2014')

为了确保这些是唯一的组合,您应该使用正则表达式(SQL外部)或SUBSTRING()(SQL内部)对当前值进行一些分析。

删除旧的varchar,并重命名新的date列。您可能需要删除并重新创建约束、索引和外键等。

将这些值传递回应用程序时,请将它们保持为日期格式。让用户界面或报告应用程序根据需要格式化日期。

相关内容

  • 没有找到相关文章

最新更新