PDA

View Full Version : مبتدی: تبديل عدد به رشته



mgh64120
دوشنبه 09 فروردین 1389, 08:53 صبح
من يه عدد اعشاري دارم ميخوام به رشته تبديل كنم اما بعد از تبديل، ارقام بعد از اعشار را حذف ميكند. چه كار كنم كه حذف نشود.



STR(3.25) = 3

ASKaffash
دوشنبه 09 فروردین 1389, 10:21 صبح
من يه عدد اعشاري دارم ميخوام به رشته تبديل كنم اما بعد از تبديل، ارقام بعد از اعشار را حذف ميكند. چه كار كنم كه حذف نشود.



STR(3.25) = 3

اینطوری :


Select Str(3.25,4,2)
Select Convert(VarChar,3.25)

محمد سلیم آبادی
چهارشنبه 11 فروردین 1389, 20:50 عصر
اینطوری :


Select Str(3.25,4,2)
Select Convert(VarChar,3.25)


سلام آقای کفاش،
بهتر است همیشه برای انواع داده ی رشته ای مثل VARCHAR طول مشخص در نظر بگیریم.
کاربری که تاپیک را ایجاد کرده اند به عددی اشاره کرده اند که طول آن مشخص نیست پس ما می تواند تا 38 رقم برای این عدد در نظر بگیریم.

زمانی که در توابع تبدیلی مثل CAST و CONVERT از VARCHAR بدون طول مشخصی استفاده شود بطور پیش فرض طول آن 30 کاراکتر در نظر گرفته می شد که از حداکثر طول رقم کمتر است.

بطور مثال کد اولی با پیغام خطا مواجه شده ولی دومی که طول آن مشخص است بدون هیچ مانعی اجرا می شود:




SELECT CONVERT(VARCHAR, 12345678901234567890.1234567890)
SELECT CAST(12345678901234567890.1234567890 AS VARCHAR(38))