我需要你的帮助真的很快....我使用 SQL 2008 R2
我有这个列有这种数据
1_kka
2_bge
3_kil
该列应该只有数字
1
2
3
那么我应该如何使用替换和子字符串来替换它呢?
谢谢!!
我需要你的帮助真的很快....我使用 SQL 2008 R2
我有这个列有这种数据
1_kka
2_bge
3_kil
该列应该只有数字
1
2
3
那么我应该如何使用替换和子字符串来替换它呢?
谢谢!!
在 MySQL 中,您只需在字符串中添加 0 即可非常轻松地做到这一点:
select col + 0
from t
将+ 0
字符串视为整数,它会自动将字符串开头的任何数字转换为数字。
在其他数据库中,这样的事情会起作用:
select cast(left(col, 1) as int)
from t
假设初始数字恰好只有一位数字(如您问题中的示例所示)。
如果您使用的是 SQL Server,并且数字不限于 1 位,您可以使用
SELECT SUBSTRING(column, 1, CHARINDEX('_', column)-1)
FROM Table
如果下划线之前可以出现多个数字,则需要这样的内容:
SELECT LEFT(Fieldname,CHARINDEX('_',Fieldname)-1)
FROM table
这将更新包含下划线的每一行中的所有值。
Update TableName
Set FieldName = Substring(FieldName, 1, CharIndex('_', FieldName) - 1)
Where CharIndex('_', FieldName) >= 1
尝试这个:
update <TABLE> set COL = LEFT(COL,CHARINDEX('_', COL)-1)