如何在SQL Server 2012中将数据类型从日期更改为int?

隆特

我有一张桌子

CREATE TABLE Student 
(
    s_id int NOT NULL IDENTITY(1,1),
    sname nvarchar(30) NOT NULL,
    address nvarchar(30) NOT NULL,
    gender varchar(10) NOT NULL,
    birthyear date NOT NULL,
    CONSTRAINT PK_Student PRIMARY KEY (s_id)
);

现在,我想将列的数据类型birthyear更改dateinteger

我遵循了w3school.com的教程:

ALTER TABLE table_name
ALTER COLUMN column_name datatype

这是我的代码:

ALTER TABLE Student 
ALTER COLUMN birthyear int

但这会引发错误

操作数类型冲突:日期与int不兼容

你们可以帮我吗?请。

谢谢!

marc_s

您不能直接执行此操作-DATE不是INT-SQL Server应该如何将日期2015-05-07转换为INT

您基本上有两个选择:

选项#1:将当前列重命名为birthyearbirthdate并添加一个计算列birthyear,该只为您提供该日期的年份:

-- rename "birthyear" to "birthdate"
EXEC sp_RENAME 'Student.Birthyear' , 'BirthDate', 'COLUMN'

-- add new computed column "birthyear"
ALTER TABLE dbo.Student 
   ADD BirthYear AS YEAR(birthdate) PERSISTED

选项2:创建新列,将日期的年份放入该列,删除旧列,将新列重命名为旧名称

-- add new  column "newbirthyear"
ALTER TABLE dbo.Student 
   ADD NewBirthYear INT 

-- update table, extract YEAR(birthyear) into new column
UPDATE dbo.Student
SET NewBirthYear = YEAR(birthyear)

-- drop old column
ALTER TABLE dbo.Student
DROP COLUMN birthyear

-- rename new column back to old column name
EXEC sp_RENAME 'Student.NewBirthyear' , 'BirthYear', 'COLUMN'

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在SQL Server中将列的数据类型从整数更改为文本?

来自分类Dev

在SQL Server中将所有表的日期更改为datetime数据类型

来自分类Dev

SQL Server 2012将int更改为日期<> Saturdays 7

来自分类Dev

如何在SQL Server中将序列类型从int更改为bigint

来自分类Dev

在 SQL Server 中将文本数据类型更改为 nvarchar(max) 是否安全

来自分类Dev

在SQL Server 2012中将newid()存储在数据类型为UNIQUEIDENTIFIER的列中有什么优势?

来自分类Dev

在SQL Server 2012中将newid()存储在数据类型为UNIQUEIDENTIFIER的列中有什么优势?

来自分类Dev

如何在SQL Server中存储Point数据类型?

来自分类Dev

如何在SQL Server 2008中将行更改为列(多个表,联接等)

来自分类Dev

如何更改SQL Server中列的数据类型?

来自分类Dev

SQL将列数据类型从nvarchar更改为int

来自分类Dev

将日期数据类型从SQL Server转换为C#中的ToShortDateString

来自分类Dev

将varchar值转换为SQL Server 2008中的数据类型int时,转换失败

来自分类Dev

在SQL Server中更改列的数据类型

来自分类Dev

在SQL Server的SELECT中更改列数据类型

来自分类Dev

在SQL Server中更改列的数据类型

来自分类Dev

如何在SQL Server 2016中将现有表列修改为HIDDEN?

来自分类Dev

如何在MS SQL SERVER 2008 R2中将nvarchar列转换为日期时间类型

来自分类Dev

如何在MS SQL SERVER 2008 R2中将nvarchar列转换为日期时间类型

来自分类Dev

如何在 SQL Server 中返回动态十进制数据类型?

来自分类Dev

了解SQL Server Int数据类型

来自分类Dev

如何在SQL Server 2012中将varchar 1,760,862.8185919转换为float?

来自分类Dev

如何在SQL Server 2012中将varchar 1,760,862.8185919转换为float?

来自分类Dev

如何在sql server 2008中将当前年份转换为当前日期

来自分类Dev

在SQL Server 2005中将datetime2创建为自定义数据类型

来自分类Dev

在SQL Server 2005中将datetime2创建为自定义数据类型

来自分类常见问题

如何在SQL Server中编写foreach?

来自分类Dev

如何在SQL Server中串联datepart?

来自分类Dev

如何在SQL Server中拆分URL

Related 相关文章

  1. 1

    如何在SQL Server中将列的数据类型从整数更改为文本?

  2. 2

    在SQL Server中将所有表的日期更改为datetime数据类型

  3. 3

    SQL Server 2012将int更改为日期<> Saturdays 7

  4. 4

    如何在SQL Server中将序列类型从int更改为bigint

  5. 5

    在 SQL Server 中将文本数据类型更改为 nvarchar(max) 是否安全

  6. 6

    在SQL Server 2012中将newid()存储在数据类型为UNIQUEIDENTIFIER的列中有什么优势?

  7. 7

    在SQL Server 2012中将newid()存储在数据类型为UNIQUEIDENTIFIER的列中有什么优势?

  8. 8

    如何在SQL Server中存储Point数据类型?

  9. 9

    如何在SQL Server 2008中将行更改为列(多个表,联接等)

  10. 10

    如何更改SQL Server中列的数据类型?

  11. 11

    SQL将列数据类型从nvarchar更改为int

  12. 12

    将日期数据类型从SQL Server转换为C#中的ToShortDateString

  13. 13

    将varchar值转换为SQL Server 2008中的数据类型int时,转换失败

  14. 14

    在SQL Server中更改列的数据类型

  15. 15

    在SQL Server的SELECT中更改列数据类型

  16. 16

    在SQL Server中更改列的数据类型

  17. 17

    如何在SQL Server 2016中将现有表列修改为HIDDEN?

  18. 18

    如何在MS SQL SERVER 2008 R2中将nvarchar列转换为日期时间类型

  19. 19

    如何在MS SQL SERVER 2008 R2中将nvarchar列转换为日期时间类型

  20. 20

    如何在 SQL Server 中返回动态十进制数据类型?

  21. 21

    了解SQL Server Int数据类型

  22. 22

    如何在SQL Server 2012中将varchar 1,760,862.8185919转换为float?

  23. 23

    如何在SQL Server 2012中将varchar 1,760,862.8185919转换为float?

  24. 24

    如何在sql server 2008中将当前年份转换为当前日期

  25. 25

    在SQL Server 2005中将datetime2创建为自定义数据类型

  26. 26

    在SQL Server 2005中将datetime2创建为自定义数据类型

  27. 27

    如何在SQL Server中编写foreach?

  28. 28

    如何在SQL Server中串联datepart?

  29. 29

    如何在SQL Server中拆分URL

热门标签

归档