我需要你的幫助,真正的快....我使用SQL 2008 R2SQL子字符串替換爲更新的列
我有此列中具有這種數據
1_kka
2_bge
3_kil
的
列應該有隻有號碼是
1
2
3
那麼我應該如何替換它使用替換和子字符串?
謝謝!
我需要你的幫助,真正的快....我使用SQL 2008 R2SQL子字符串替換爲更新的列
我有此列中具有這種數據
1_kka
2_bge
3_kil
的
列應該有隻有號碼是
1
2
3
那麼我應該如何替換它使用替換和子字符串?
謝謝!
在MySQL中,你可以僅僅通過增加做到這一點非常容易0 TOT他字符串:
select col + 0
from t
的+ 0
將字符串作爲一個整數,它會自動在字符串的開頭到任何數字轉換一個號碼。
其他數據庫中,這樣的事情會工作:
select cast(left(col, 1) as int)
from t
假設初始數量都只有一個數字(如在你的問題的例子)。
對不起,我使用SQL 2012 R2 – Ban
@Ban。 。 。然後第二個選項將起作用。 –
如果您使用的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)
沒有的SQL Server 2012 R2 ......它要麼2008R2還是2012? :) –