我正試圖將一個串列轉換為BIGINT,但首先我需要洗掉所有的垃圾資料
。這意味著,我必須洗掉這一列中的所有非數字資料,并將其替換為零,這樣我才能更新表的型別
我如何在SQL Server中實作這一目標?
我怎樣才能在SQL Server中實作這一點呢?
謝謝!
例子:
CREATE TABLE SampleData
(
Col1 VARCHAR(100)
)
--我想洗掉這種資料。
INSERT INTO SampleData
VALUES('<font style="vertical-align: inherit;"><font style="vertical-align: inherit;">2007220737724</font;</')
--我想保留這種資料。
INSERT INTO SampleData
VALUES('2007220737724'/span>)
uj5u.com熱心網友回復:
這似乎很簡單,你只需使用try_cast,用'0'
update t
set col1='0'/span>
where try_cast(col1 as bigint) 是 null
uj5u.com熱心網友回復:
看來你的資料是幾乎有效的XML,只是缺少一個適當的關閉標簽。
假設它是有效的,你可以使用XQuery
。SELECT CAST(Col1 AS xml)。 value('(font/font/text())[1]'/span>,'bigint')
FROM SampleData
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/307269.html
標籤:
上一篇:<p>我正在做一個將以XML形式輸出的SQL查詢(MSSQL)。我需要協助處理一些具有相同標簽名稱的標簽,<code><CustomInteger>/code>
