整数数据类型的SQL查询更新

时间:2016-11-02 19:03:01

标签: sql

需要SQL帮助 我有一个EmployeeID表,如下所示

11
22
1
55
2

我想修剪所有行的最后几位并将输出作为

1
2
1
5
2

5 个答案:

答案 0 :(得分:1)

试试这个 -

UPDATE your_table SET EmployeeID=SUBSTR(TO_CHAR(EmployeeID),1,1);

答案 1 :(得分:0)

使用这个

 CASE WHEN LEN(ColumnName)>1 THEN LEFT(ColumnName, LEN(ColumnName)-1) ELSE        ColumnName END

答案 2 :(得分:0)

将int转换为varchar并使用right选择所需数量的数字。

select cast(right(1,cast(EmployeeID as varchar)) as int)

实际上只是在做

select right(1,employeeId) should work too.

如果你想更新表,那么

update table
set employeeid = right(1,employeeId)

答案 3 :(得分:0)

UPDATE tableName
SET EmployeeID = LEFT (EmployeeID, CASE WHEN LEN(EmployeeID) > 1 THEN LEN(EmployeeID) - 1 ELSE 1 END)

答案 4 :(得分:0)

大多数数据库都支持left()功能。它会自动将整数转换为字符串,然后将结果返回到整数。所以最简单的陈述是:

update t
    employeeId = left(employeeId, 1);

注意:在某些数据库中,这可能是substr(employeeId, 1, 1)substring(employeeId, 1, 1)

此外,此语句执行两次隐式类型转换。

如果要将where employeeId like '__%'限制为实际更改的行,也可以添加update