在SQL Server中替换

在SQL Server中替换,sql,sql-server,Sql,Sql Server,我想替换从EX:199500到1995年的所有出生,那么如何删除列中的所有2个零 我用了这个: select P_BIRTH from city.dbo.personsuly replace(P_BIRTH,00, ,); 使用LEFT函数时,可以从原始列中选择一组字符。可以使用LEFT()函数,而不是使用replace() 您可以尝试以下方法: select stuff(P_BIRTH, charindex('00', P_BIRTH), 2, '') from city.dbo.perso

我想替换从EX:199500到1995年的所有出生,那么如何删除列中的所有2个零

我用了这个:

select P_BIRTH from city.dbo.personsuly replace(P_BIRTH,00, ,);
使用LEFT函数时,可以从原始列中选择一组字符。

可以使用
LEFT()
函数,而不是使用
replace()

您可以尝试以下方法:

select stuff(P_BIRTH, charindex('00', P_BIRTH), 2, '') from city.dbo.personsuly

你也可以这样试试-

UPDATE city.dbo.personsuly
SET P_BIRTH = P_BIRTH / 100
示例。这也适用于字符串数据类型

SELECT 199500  / 100

-----------
1995

(1 row affected)

那个列的数据类型是什么?删除00不起作用,考虑199002。
UPDATE city.dbo.personsuly
SET P_BIRTH = P_BIRTH / 100
SELECT 199500  / 100

-----------
1995

(1 row affected)