我有一个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