PDA

View Full Version : دستور SELECT برای جدا کردن اعداد از حروف



mehdi_moosavi
چهارشنبه 14 بهمن 1394, 14:30 عصر
وقت دوستان بخیر
چطور بوسیله دستور SELECT اعداد رو از یک رشته که هم شامل عدد و هم شامل حروف هست بیرون بکشم؟
مثلا مقدار یک فیلدهست: "dfcbv45gbh8540rf"

دستور SELECT ی لازمه که "458540" رو برگردونه
لطفا راهنمایی کنید
با تشکر

ham3d1988
جمعه 16 بهمن 1394, 23:32 عصر
سلام میتونید از این تابع استفاده کنین


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(@strAlphaNumeric,0)
END

نحوه استفاده


SELECT dbo.udf_GetNumeric('a44bt55')