سعد قام بنشر أغسطس 10, 2004 مشاركة قام بنشر أغسطس 10, 2004 السلام عيكم ورحمة الله وبركاته ،،، لدي عمود داخل جدول به بيانات كثيره بعض الخلايا تحتوي على أرقام فقط وبعض الخلايا تحتوي على حروف فقط وبعض الخلايا تحتوي على الأرقام والحروف ولقد حاولت فصلها ولم أتمكن بإستخدام الأمر التالي "SELECT Query4.ProductCode, Query4.[Product Name], Query4.Categories, Query4.Description, Query4.Unit, Query4.Location, Query4.StockNumber, Query4.SapNumber FROM Query4 WHERE Query4.SapNumber like ""*" & Text22 & "*"" ;" حيث كان لزاما علي كتابة حرف ما ليتم الفصل لكن إذا كان هذا الحرف غير موجود في خليه أخرى بها حروف أيضا فإنه يفصل الخلايا التي تحوي الحرف المحدد ، ولكني أريد فصل جميع الخلايا التي تحوي حروف وجميع الخلايا التي تحوي أرقام وجميع الخلايا التي تحوي حروف وأرقام معاً . شكراً مسبقا لكل من يقدم المساعده تحياتي سعد رابط هذا التعليق شارك More sharing options...
محمد طاهر عرفه قام بنشر أغسطس 15, 2004 مشاركة قام بنشر أغسطس 15, 2004 أضف دالة الي ال user Defined functions فى قاعدة البيانات علي خادم ال SQL الدالة التالية : CREATE FUNCTION [dbo].[fncTT] (@s as CHAR) RETURNS CHAR(20) AS BEGIN DECLARE @ttt CHAR(20) IF isnumeric(@s)= 1 AND PATINDEX('%[A-Z]%',@s)=0 SELECT @ttt = 'All Number' ELSE SELECT @ttt = 'NOT All Number' RETURN @ttt END و تستخدم هذه الدالة فى الاستعلام لاستنتاج التقييم نوع للبيانات المخزنة فى الحقل المقصود اختباره فتعطي ناتج يوضح هل الحقل لامراد اختباره به رقم أم نص مثلا اذا كان الحقل اسمه CategoryName و الجدول اسمه Cat2 SELECT CategoryID, CategoryName, dbo.fncTT(CategoryName) AS checkmytext FROM dbo.Cat2 ثم تضع المعيار علي القيمة المستنتجة مثلا SELECT CategoryID, CategoryName, dbo.fncTT(CategoryName) AS checkmytext FROM dbo.Cat2 WHERE (dbo.fncTT(CategoryName) = 'All Number') رابط هذا التعليق شارك More sharing options...
Amir_Allam قام بنشر أغسطس 22, 2004 مشاركة قام بنشر أغسطس 22, 2004 (y) الداله تعمل جيدا وهذا تعديل فى أسماء الحقول لتعمل مع ال North Wind Database SET QUOTED_IDENTIFIER ON GO SET ANSI_NULLS ON GO ALTER FUNCTION [dbo].[fncTT] (@s as CHAR) RETURNS CHAR(20) AS BEGIN DECLARE @ttt CHAR(20) IF isnumeric(@s)= 1 AND PATINDEX('%[A-Z]%',@s)=0 SELECT @ttt = 'All Number' ELSE SELECT @ttt = 'NOT All Number' RETURN @ttt END GO SET QUOTED_IDENTIFIER OFF GO SET ANSI_NULLS ON GO ولاستدعاء الداله SELECT CategoryID,CategoryName, dbo.fncTT(CategoryName) AS checkmytext FROM dbo.Categories WHERE (dbo.fncTT(CategoryName) = 'All Number') رابط هذا التعليق شارك More sharing options...
الردود الموصى بها
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.