我有一个数据类型为 VARCHAR 的年龄列,在该列中,年龄的值写成这样,20。30. 40.50.想要删除这个'.

  • 本文关键字:删除 VARCHAR 数据类型 有一个 sql
  • 更新时间 :
  • 英文 :


我有一个age列,它的数据类型是VARCHAR,在该列中,age的值是这样写的,20。30。50.想删除这个"。">

正如marcotesane所指出的,年龄最好是数字。

然而,如果你只想去掉点和它后面的任何东西(也许是因为你担心更改数据类型会破坏它被引用为varchar的其他东西(,那么。。

假设MSSQL

您可以使用:

UPDATE[YourTable]SET age=LEFT(年龄,charindex('.',年龄(-1(FROM[YourTable]

之后,假设所有值都是数字,您可以通过进行检查

从[YourTable]中选择*,其中isnumeric(年龄(=0

并且检查它没有返回任何结果

可以使用将列更改为整数

ALTER TABLE[YourTable]添加年龄2 INT

添加新的整数列

更新[YourTable]设置年龄2=CAST(年龄为INT(

将值作为数字从现有列放入新的

ALTER TABLE[YourTable]DROP COLUMN age

去除原始年龄列

EXEC sp_rename'dbo.testtable.age2','age','COLUMN'

重命名新列以替换原来的列。

希望这能帮助

向致以诚挚的问候

Kev

相关内容

  • 没有找到相关文章