PDA

View Full Version : حذف صفر های قبل عدد در فیلدهای Nvarchar



mehdin69
شنبه 14 خرداد 1390, 01:06 صبح
سلام دوستان
من یه دیتابیس دارم که توی یکی از قسمت هاش بجای اینکه اعداد توی decimal ذخیره بشن توی Nvarchar(50) ذخیره شدن
حالا یه SP می خواستم بنویسم که هر سری صداش کنم تا اگه قبل از هر شماره ای صفر وجود داشت اونو حذف کنه
اما درست نمی دونم باید چی بنویسم
می خوام همه جدول رو بگرده و توی یه ستون خاص هر رکوردی که قبلش 0 وجود داره رو حذف کنه
چطوری اینکارو انجام بدم؟
مرسی:خجالت:

reza_edu
شنبه 14 خرداد 1390, 08:37 صبح
سلام میخوای یه sp بنویسی که یه پارامتر nvarchar(50) مثلا بگیره و اگه توی اون یه عدد مثل :253.00000 بود به 253 تبدیل کنه ؟ درست متوجه شدم ؟
با دستور CASTو CONVERT امتحان کردی؟ اگه نشد بگو تا یا راه دیگه بگم

mehdin69
شنبه 14 خرداد 1390, 11:25 صبح
سلام نه اينطوري نيست
مي خوام مثلاً يه عددي مثل ٠٤٥٣ رو به ٤٥٣ تبديل كنه

reza_edu
شنبه 14 خرداد 1390, 14:51 عصر
DECLARE @MyNum NVARCHAR (50),@MyReturn NVARCHAR (50),@position INT ,@CHeck BIT
SET @position = 0
SET @MyNum = '000504'
SET @MyReturn =''
SET @CHeck = 0
WHILE @position <= DATALENGTH(@MyNum)
BEGIN
IF SUBSTRING(@MyNum, @position, 1) <> 0 OR @CHeck = 1
BEGIN
SET @MyReturn = @MyReturn + SUBSTRING(@MyNum, @position, 1)
SET @CHeck = 1
END
SELECT @position = @position + 1
END
SELECT @MyReturn