sql - 将小数点添加到表中的数据

标签 sql sql-server sql-server-2008

我的某一列中有一个值为“P62519”,我尝试在该列的前三位数字后添加小数为“P62.519”,但它不起作用,该列的数据类型为 nvarchar(10 )

Update Table
Set ColumnName =   REPLACE(LTRIM(SUBSTRING(Table.ColumnName,1,3)),'','.')
where LEN(Code) > 3

我尝试了这个,但是这个列 Columnname 是与我表中的另一列聚集的主键,并且不允许我这样做,说违反了约束,尽管我不确定我所做的上述操作是否正确。有人可以建议我如何在数据库中这些值的三个位置后添加小数点吗?感谢您的帮助

最佳答案

确保您的外键已指定引用触发操作ON UPDATE CASCADE

我认为UPDATE应该看起来更像这样:

UPDATE TABLE 
   SET ColumnName = SUBSTRING ( ColumnName, 1, 3 ) + '.' 
                       + SUBSTRING ( ColumnName, 4, LEN ( ColumnName ) - 3 )
 WHERE LEN ( ColumnName ) > 3;

关于sql - 将小数点添加到表中的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9879559/

相关文章:

sql-server - T-SQL : Best way to copy hierarchy data?

sql - 天数时间总和

php - LEFT OUTER JOIN SUM 双倍问题

SQL 地理相交始终返回 1

sql - 上个季度和下个季度

sql - 使用 WHILE LOOP 在 SQL Server 2008 中迭代 SELECT 语句

sql - SQL Server 中的 GETDATE() 函数

mysql - 使用别名进行 SQL 查询并重新使用它。它是如何工作的?

sql - 语法错误

sql - 在一列中查找 n 个最大值