我真的需要你的帮助....我使用SQL 2008 R2
我有这个有这种数据的专栏
1_kka
2_bge
3_kil
该列应该只有
的数字1
2
3
那么如何使用replace和substring替换它?
谢谢!
答案 0 :(得分:2)
在MySQL中,只需添加0 tot string string即可轻松完成此任务:
select col + 0
from t
+ 0
将字符串视为整数,并自动将字符串开头的任何数字转换为数字。
在其他数据库中,这样的东西可以工作:
select cast(left(col, 1) as int)
from t
假设初始号码只有一位数(如问题中的示例所示)。
答案 1 :(得分:1)
如果您使用的是SQL Server,如果数字不限于1位,您可以使用
SELECT SUBSTRING(column, 1, CHARINDEX('_', column)-1)
FROM Table
答案 2 :(得分:1)
如果在下划线之前可以出现多个数字,则需要这样的内容:
SELECT LEFT(Fieldname,CHARINDEX('_',Fieldname)-1)
FROM table
答案 3 :(得分:1)
这将更新包含下划线的每一行中的所有值。
Update TableName
Set FieldName = Substring(FieldName, 1, CharIndex('_', FieldName) - 1)
Where CharIndex('_', FieldName) >= 1
答案 4 :(得分:0)
试试这个:
update <TABLE> set COL = LEFT(COL,CHARINDEX('_', COL)-1)