En el entorno de la base de datos, los datos numéricos integrados pueden necesitar extraerse de la cadena. Considere el siguiente ejemplo:
cadena 1: 003 plan de examenpreliminar Cadena 2: Coordinación005 Cadena 3: balance1000sheet
字符串 1: 003Preliminary Examination Plan
字符串 2: Coordination005
字符串 3: Balance1000sheet
String 1: 003 Cadena 2: 005 Cadena 3: 1000
字符串 1: 003
字符串 2: 005
字符串 3: 1000
Crear función dbo.udf_getnumeric
(
@Stralphanumeric varchar (256)
Curar
Return Varchar (256)
COMO
Comenzar
Declarar @intalpha int
Setalpha = patindex ('%[^0-9]%', @stralphanumeric)
Comenzar
Mientras @intalpha> 0
Comenzar
Set @Strachanumeric = Stuff (@stralphanumeric, @intalpha, 1, '')
Setalpha = patindex ('%[^0-9]%', @stralphanumeric)
Fin
Fin
Return isnull (trim (@stralphanumeric), '0')
Fin
IR
CREATE FUNCTION dbo.udf_GetNumeric
(
@strAlphaNumeric VARCHAR(256)
)
RETURNS VARCHAR(256)
AS
BEGIN
DECLARE @intAlpha INT
SET @intAlpha = PATINDEX('%[^0-9]%', @strAlphaNumeric)
BEGIN
WHILE @intAlpha > 0
BEGIN
SET @strAlphaNumeric = STUFF(@strAlphaNumeric, @intAlpha, 1, '' )
SET @intAlpha = PATINDEX('%[^0-9]%', @strAlphaNumeric )
END
END
RETURN ISNULL(TRIM(@strAlphaNumeric), '0')
END
GO
Seleccione dbo.udf_getnumeric (column_name) De table_name
Esto solo devolverá la parte digital de la cadena especificada en la columna especificada. Para los datos de ejemplo proporcionados, el resultado coincidirá con el valor esperado:
SELECT dbo.udf_GetNumeric(column_name)
from table_name
nota:
en el código original003
005
1000
]. Esta función de corrección es más clara y fácil de entender y mantener. Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.
Copyright© 2022 湘ICP备2022001581号-3