попробуйте это в SQL Server:
DECLARE @String varchar(50)
SET @String='0002 55 Actor Hill - 0002'
SELECT LEFT(@String,CHARINDEX(' - ',@String)-1)
ВЫВОД:
--------------------------------------------------
0002 55 Actor Hill
(1 row(s) affected)
Вот пример использования таблицы:
DECLARE @YourTable table (RowValue varchar(50))
INSERT @YourTable VALUES ('0002 55 Actor Hill - 0002')
INSERT @YourTable VALUES ('0004 57 Adair - 0004')
INSERT @YourTable VALUES ('0005 74 Adams - 0005')
SELECT
LEFT(RowValue,CHARINDEX(' - ',RowValue)-1), '|'+LEFT(RowValue,CHARINDEX(' - ',RowValue)-1)+'|'
FROM @YourTable
ВЫВОД:
-------------------- ---------------------
0002 55 Actor Hill |0002 55 Actor Hill|
0004 57 Adair |0004 57 Adair|
0005 74 Adams |0005 74 Adams|
(3 row(s) affected)
Я использовал символы |
, чтобы показать, что нет пробелов
для изменения фактических данных используйте:
UPDATE @YourTable
SET RowValue=LEFT(RowValue,CHARINDEX(' - ',RowValue)-1)