SQLite - 从列

时间:2018-05-08 04:08:28

标签: sql-server decimal rounding nvarchar

我正在尝试从SQLite中的nvarchar(55)列中的所有值中删除小数位(使用Aqua Data Studio)。所有的字段都有一个.0,我试图删除,而没有舍入任何其他数字。

示例:123456.0 期望:123456

我已尝试过以下操作,并收到此错误:'将nvarchar值'8514838.0'转换为数据类型int时转换失败。'

SELECT cast(column as int) from data

是否有其他方法只删除尾随小数而不进行舍入?

1 个答案:

答案 0 :(得分:0)

UPDATE
    tableName
SET
    column = SUBSTRING( column, 1, LEN( column ) - 2 )
WHERE
    column LIKE '%.0'

在SQL Server中,字符串索引是从1开始的,因此SUBSTRING( s, 1, n )从一开始就返回字符串的所有n个字符。