我需要刪除sql中的nvarchar
字符串中的第六個字符。我需要在列的每一行上執行此操作。刪除字符串中的第六個字符
例如:
111116111111
每個記錄的長度爲12
字符,所以我就需要使它11
字符,並刪除6
日。
誰能幫助我?謝謝。
我需要刪除sql中的nvarchar
字符串中的第六個字符。我需要在列的每一行上執行此操作。刪除字符串中的第六個字符
例如:
111116111111
每個記錄的長度爲12
字符,所以我就需要使它11
字符,並刪除6
日。
誰能幫助我?謝謝。
你可以只是做
UPDATE table
set column = LEFT(column,5) + RIGHT (column,6)
但也許有人達到相同的結果的華麗的方式。作爲
select left([ColumnName],5)+right([ColumnName],6)
下面這樣:
declare @Something as nvarchar(12)
set @Something = '111116111111'
select @Something, left(@Something,5)+right(@Something,6)
,如果它給轉換錯誤(如不能轉換爲nvarchar數據類型爲數字),您可能需要投表達的兩側。
您也可以使用STUFF()功能。
DECLARE @STRING VARCHAR(20) = '111116111111'
SELECT STUFF(@STRING, 6, 1, '')
Result : '11111111111'
UPDATE
UPDATE table
SET Column_Name = STUFF(Column_Name, 6, 1, '')
WHERE LEN(Column_Name) = 12
喜有2種方式做基礎上的長度,我們可以寫出這樣的查詢
declare @Something as nvarchar(12)
set @Something = '111116111111'
select CASE WHEN LEN(@Something) >= 12 THEN STUFF(@Something,6,1,'')
ELSE @Something END
or else 6 value is constant then we can use replace function
declare @Something as nvarchar(12)
set @Something = '111116111111'
Select REPLACE(@Something,6,'')
這些都解決了,謝謝。 – Jeff