英国和美国日期的混合 - 全部转换为英国

Mixture of UK and US Dates - Convert All to UK

我刚刚意识到在将 800 万条记录导入数据库后(很长时间!),遗憾的是有些日期是混合的(英国和美国格式,不好!)

2015 年 3 月 26 日 22/12/2014 10/08/2012 11/17/2011 11/30/2010

不仅如此,数据库的列也是varchar,对性能也很不利

我做了一个测试数据库,但我试过失败:

SELECT convert(varchar, getdate(), 103)

我正在尝试获取英国日期,即 25/11/1992 而不是 11/25/1992

任何帮助都会很棒,否则上传数据就浪费了一个晚上!

在你的例子中 select 的正确方法是这样的:

select CONVERT(VARCHAR(10),GETDATE(),103)

但我在想两个解决方案 制作一个函数,采用美国日期的 varchar 和英国日期的 return varchar 但最大的问题是你不知道 table 中的所有日期是否都是美国类型,如果你能弄清楚 surly 什么类型的日期你刚刚解决了这个问题,你可以把这个规则关于传递一些有助于计算的参数的函数。

此外,您不需要再次导入所有数据,完成上述操作后,只需使用函数对当前 table 进行更新语句即可。

祝你好运。