برای ذخیره کردن قیمت کالاها در دیتابیس بهترین نوع داده ای (DataType) در دیتابیس چی هست؟ ضمنا در سی شارپ با چه نوع داده ای یا Data Type باید با پول کار کرد ؟
برای نگهداری مبلغ پول شما میتونید از چندین نمونه Data Type استفاده کنید. بستگی به این داره که چه نوع واحد پولی رو می خواید نگهداری کنید. مثلا دلار یا یورو یا تومان ... .نکته دیگه اینکه آیا می خواید مبالغ خرد رو هم نگهداری کنید یا فقط مبالغ رند. به ترتیب Data Type هایی که برای نگهداری پول مناسب هستند رو بررسی می کنیم.
در Sql Server یک نوع داده ای برای نگهداری پول وجود دارد به نام Money. شما میتونید برای نگهداری مبلغ از این نوع داده ای استفاده کنید. دقت کنید که این نوع داده اعشار و یا به عبارتی مبالغ خرد را حذف می کند. به عنوان مثال کدهای زیر را برای درک بهتر توجه کنید :
DECLARE
@mon1 MONEY,
@mon2 MONEY,
@mon3 MONEY,
@mon4 MONEY
SELECT @mon1 = 100, @mon2 = 339, @mon3 = 10000
SET @mon4 = @mon1/@mon2*@mon3
SELECT @mon4 AS moneyresult
//Output
2949.0000
همانطور که ملاحظه می کنید خروجی نهایی یک عدد بدون در نظر گرفتن مقادیر اعشاری می باشد. در سی شارپ هم نوع داده ای Decimal برای نگهداری مقادیر دیتابیس استفاده میشه.
نوع داده ای Decimal در Sql Server برای نگهداری پول
اما Data Type دیگری که برای نگهداری پول در Sql Server می توان از آن استفاده کرد نوع داده ای Decimal می باشد. مزیت این نوع داده ای نسبت به Money این می باشد که شما می توانید مقادیر خرد و اعشاری را هم نگهداری کنید و حساب و کتاب دقیق تری داشته باشید. برای درک بهتر به مثال زیر توجه کنید.
DECLARE
@num1 DECIMAL(19,4),
@num2 DECIMAL(19,4),
@num3 DECIMAL(19,4),
@num4 DECIMAL(19,4)
SELECT @num1 = 100, @num2 = 339, @num3 = 10000
SET @num4 = @num1/@num2*@num3
SELECT @num4 AS numericresult
//Output
2949.8525
در مثال بالا برای نگهداری پول متغیری از نوع (19,4)Decimal تعریف کرده ایم. عدد اول در پرانتز یعنی تا 19 رقم حساب کن و عدد دوم هم یعنی تا 4 رقم اعشار را محاسبه و نگهداری کن. برای افراد یا مواردی که نیاز به حساب و کتاب دقیق می باشد این نوع پیشنهاد می شود. در سی شارپ هم نوع داده ای Decimal برای نگهداری این مقادیر میتونید استفاده کنید.
نوع داده ای bigint در Sql Server برای نگهداری پول
نوع داده ای دیگری که می توان از آن برای نگهداری پول استفاده کرد bigint می باشد. نوع داده ای bigint توانایی نگهداری عددی بین -9,223,372,036,854,775,808 تا 9,223,372,036,854,775,807 را دارا می باشد که تقریبا برای مبالغ پولی کافی می باشد. این نوع داده ای یک عدد صحیح می باشد و اعشار را محاسبه نمی کند. برای نگهداری مبالغ ریالی و یا تومان به نظر این نوع داده ای مناسب می باشد. در سی شارپ هم برای کار با مبلغ می تونید از نوع داده ای long استفاده کنید.
تاریخ :
1402/07/23
- ساعت :
04:01:00 PM
- بازدید :
1034
- پاسخ :
1
|
تاریخ :
1402/09/08
- ساعت :
07:34:00 PM
- بازدید :
1161
- پاسخ :
1
|
تاریخ :
1402/09/21
- ساعت :
11:10:00 PM
- بازدید :
599
- پاسخ :
1
|
تاریخ :
1403/07/13
- ساعت :
12:06:00 PM
- بازدید :
350
- پاسخ :
1
|
تاریخ :
1403/06/24
- ساعت :
08:52:00 PM
- بازدید :
319
- پاسخ :
1
|
تاریخ :
1398/09/14
- ساعت :
01:58:00 PM
- بازدید :
4270
- پاسخ :
1
|
تاریخ :
1403/05/16
- ساعت :
05:43:00 AM
- بازدید :
662
- پاسخ :
0
|
تاریخ :
1398/09/05
- ساعت :
06:04:00 PM
- بازدید :
3174
- پاسخ :
2
|
تاریخ :
1398/09/08
- ساعت :
11:38:00 PM
- بازدید :
3251
- پاسخ :
1
|
تاریخ :
1403/04/12
- ساعت :
07:27:00 PM
- بازدید :
658
- پاسخ :
0
|
تاریخ :
1401/02/24
- ساعت :
02:17:00 PM
- بازدید :
2013
- پاسخ :
1
|
تاریخ :
1403/08/29
- ساعت :
07:15:00 PM
- بازدید :
79
- پاسخ :
0
|
تاریخ :
1403/08/18
- ساعت :
10:40:00 AM
- بازدید :
114
- پاسخ :
0
|
تاریخ :
1402/07/23
- ساعت :
04:01:00 PM
- بازدید :
1034
- پاسخ :
1
|
تاریخ :
1403/05/30
- ساعت :
09:22:00 AM
- بازدید :
431
- پاسخ :
1
|
تاریخ :
1402/08/01
- ساعت :
06:25:00 PM
- بازدید :
931
- پاسخ :
1
|
تاریخ :
1402/08/16
- ساعت :
10:38:00 AM
- بازدید :
1357
- پاسخ :
1
|
تاریخ :
1398/08/17
- ساعت :
01:27:00 AM
- بازدید :
4800
- پاسخ :
1
|
تاریخ :
1402/09/08
- ساعت :
07:34:00 PM
- بازدید :
1161
- پاسخ :
1
|
تاریخ :
1402/09/21
- ساعت :
11:10:00 PM
- بازدید :
599
- پاسخ :
1
|