sql-server - SQL Server : convert datetime in place in table

标签 sql-server datetime

基本上,我继承了一个相当大的表,其中有几列,日期格式为 '##.##.####' (day.month.year) 的 varchar(10) 。我想将这些列转换为该特定日期的 Datetime 列。

是否有办法在 SQL Server 上就地转换这些内容(通过一组 SQL 查询),而不是用某种编程语言选择每条记录,转换日期,然后更新回 Datetime (也许到不同的专栏)?

最佳答案

不需要...=(select...) 操作简单明了。

ALTER TABLE YourTable
ADD NewDateColumn DATETIME

update YourTable set NewDateColumn = convert(date, OldDateColumn, 104) 
--Magic 104 is for dd.MM.yyyy date format

仅此而已。

关于sql-server - SQL Server : convert datetime in place in table,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38253648/

相关文章:

sql-server - 列出 SQL Server 临时表中的列名称

ruby-on-rails - 获取当前时间的单元测试代码

mysql - 为什么我无法获取某个日期范围内的记录?

sql - 时间戳和日期时间

sql-server - 如何实现企业搜索

sql-server - sql server 2008 newsequentialid() 问题

java - 未使用 hibernate 从映射表获取数据

python -/: 'datetime.timedelta' and 'datedelta' 不支持的操作数类型

.net - 比较 Nodatime 中不同时区的 LocalDateTime

ruby-on-rails - 如何在 Rails 中将 XML 转换为散列?