سلام میخواستم بدونم آیا دستوری میتوان با SQL نوشت که مثلا 3 رقم آخر عدد رو 000 کنه
123456789 بشه 123456000 یا 4 رقم یا 2 رقم یا 5 رقم یک فیلد رو در زمان آپدیت تغییر بده مرسی
سلام میخواستم بدونم آیا دستوری میتوان با SQL نوشت که مثلا 3 رقم آخر عدد رو 000 کنه
123456789 بشه 123456000 یا 4 رقم یا 2 رقم یا 5 رقم یک فیلد رو در زمان آپدیت تغییر بده مرسی
1- ميتونيد اول بر 1000 تقسيم كنيد و بعد در 1000 ضرب كنيد
2-select convert(int,substring('123456789',1,len('123456789 ')-3)+'000')
کد شما رو تو یه تیبل تست کردم و لی اشکال گرفت و این رو داد
UPDATE Table_1
SET Gheymat =
(SELECT CONVERT(int, SUBSTRING(Table_1.Gheymat, 1, LEN(Table_1.Gheymat) - 3) + '000') AS Expr1)
Gheymat نوعش بیگ اینت هست فکر کنم باید کانورت شه به رشته
آخرین ویرایش به وسیله arman_Delta2002 : دوشنبه 17 مهر 1391 در 09:52 صبح
بله بايد تبديل بشه.
از روش اول هم مي تونيد استفاده كنيد
بجاي اين همه تبديلهاي بي خودي از توابع خود اس كيو ال استفاده كنيد
تابع رند اينكارو مي كنه
مثلا
select ROUND(123456789,-3)
اين دستور علاوه بر اينكه سه رقم آخر را صفر مي كند ، عمل round را نيز انجام ميدهد