在sql列的最后两个字符之前插入句点
您好,我在sql中有一列,我需要在最后两个字符前插入一个“.”。该列不是固定长度的。有人能帮我做这件事吗 您可以通过更新和子字符串来完成在sql列的最后两个字符之前插入句点,sql,sql-server,Sql,Sql Server,您好,我在sql中有一列,我需要在最后两个字符前插入一个“.”。该列不是固定长度的。有人能帮我做这件事吗 您可以通过更新和子字符串来完成 UPDATE table SET column = (SELECT SUBSTRING(column, 1, LEN(column)-2) + '.' + SUBSTRING(column, LEN(column)-1, LEN(column)) 如果要检查查询将对您的列执行什么操作,只需使用: S
UPDATE table
SET column = (SELECT SUBSTRING(column, 1, LEN(column)-2)
+ '.'
+ SUBSTRING(column, LEN(column)-1, LEN(column))
如果要检查查询将对您的列执行什么操作,只需使用:
SELECT
SUBSTRING(column, 1, LEN(column)-2)
+ '.'
+ SUBSTRING(column, LEN(column)-1, LEN(column))
FROM table
您可以通过更新和子字符串来完成
UPDATE table
SET column = (SELECT SUBSTRING(column, 1, LEN(column)-2)
+ '.'
+ SUBSTRING(column, LEN(column)-1, LEN(column))
如果要检查查询将对您的列执行什么操作,只需使用:
SELECT
SUBSTRING(column, 1, LEN(column)-2)
+ '.'
+ SUBSTRING(column, LEN(column)-1, LEN(column))
FROM table
看起来很凌乱,但这应该可以做到:
SELECT LEFT(COL_NAME, LEN(COL_NAME)-1)+'.'+RIGHT(COL_NAME,1)
FROM Table
或者,如果您想更新数据库中的值,而不仅仅是输出
Update Table
SET COL_NAME = LEFT(COL_NAME, LEN(COL_NAME)-1)+'.'+RIGHT(COL_NAME,1)
看起来很凌乱,但这应该可以做到:
SELECT LEFT(COL_NAME, LEN(COL_NAME)-1)+'.'+RIGHT(COL_NAME,1)
FROM Table
或者,如果您想更新数据库中的值,而不仅仅是输出
Update Table
SET COL_NAME = LEFT(COL_NAME, LEN(COL_NAME)-1)+'.'+RIGHT(COL_NAME,1)
您可以这样使用:
EXEC sp_rename 'dbo.DatabaseName.ColumnName', 'ColumnNa.me', 'COLUMN';
如果需要将其应用于多个列,那么我建议使用substring方法。在一列上只更新一次,没有实际用途。您可以这样使用:
EXEC sp_rename 'dbo.DatabaseName.ColumnName', 'ColumnNa.me', 'COLUMN';
如果需要将其应用于多个列,那么我建议使用substring方法。在一个专栏上只更新一次没有实际意义。这个问题不是很清楚。如果您试图插入
。在最后2个字符进入列数据之前,可以使用STUFF()
函数
例如:
Declare @s varchar(50) = '12345678'
Select Stuff(@s, Len(@s)-1, 0, '.')
--> 123456.78
应用于表查询:
Select Stuff(yourCol, Len(yourCol)-1, 0, '.')
From yourTable
请注意,如果Len(yourCol)
小于2
,将返回一个空字符串。问题不是很清楚。如果您试图插入。在最后2个字符进入列数据之前,可以使用STUFF()
函数
例如:
Declare @s varchar(50) = '12345678'
Select Stuff(@s, Len(@s)-1, 0, '.')
--> 123456.78
应用于表查询:
Select Stuff(yourCol, Len(yourCol)-1, 0, '.')
From yourTable
请注意,如果Len(yourCol)
小于2
,将返回一个空字符串。我不确定,但我认为op希望修改列中的值,而不是列的名称。好吧,他从来没有提到元组或行-仅列。至于解释,我想…我不确定,但我认为op希望修改列中的值,而不是列的名称。嗯,他从来没有提到元组或行-仅列。根据解释,我想…您是否正在尝试更改列名称或列中的数据?是否正在尝试更改列名称或列中的数据?