mysqlÖÐdecimalµÄÓ÷¨
mysql decimal Êý¾ÝÀàÐÍÓÃÓڴ洢׼ȷʮ½øÖÆÊý×Ö£¬×¨Îª½ðÈÚºÍÆäËûÐèÒª¸ß¾«¶ÈµÄÅÌËã¶øÉè¼Æ¡£ÆäÓ﷨Ϊ decimal(precision, scale)£¬ÆäÖÐ precision ÊÇ×ÜλÊý£¬scale ÊÇСÊýλÊý¡£decimal ÊÊÓÃÓڴ洢Ǯ±Ò¡¢²ÆÎñÊý¾ÝºÍ¸ß¾«¶È¿ÆѧÅÌËã¡£ÆäÓŵã°üÀ¨¸ß¾«¶È¡¢¿É±ä³¤¶ÈºÍÁÉÀ«µÄ¹æÄ£¡£¿ÉÊÇ£¬ËüÕ¼ÓõĴ洢¿Õ¼ä¸ü´ó£¬ÅÌËãËÙÂÊÒ²½ÏÂý¡£
MySQL ÖÐ DECIMAL Êý¾ÝÀàÐÍ
DECIMAL Êý¾ÝÀàÐÍÔÚ MySQL ÖÐÓÃÓڴ洢׼ȷµÄ¶¨µãÊ®½øÖÆÊý×Ö¡£ËüרΪÐèÒª¸ß¶È¾«¶ÈºÍ¹æÄ£µÄ½ðÈںͿÆѧÅÌËã¶øÉè¼Æ¡£
Óï·¨
DECIMAL(precision, scale)
µÇ¼ºó¸´ÖÆ
precision£ºÊý×ÖµÄ×ÜλÊý£¬°üÀ¨Ð¡ÊýµãÇ°µÄÕûÊýλºÍСÊýµãºóµÄ·ÖÊýλ¡£
scale£ºÐ¡ÊýµãºóµÄ·ÖÊýλÊý¡£
Ó÷¨
ÌåÏÖ׼ȷµÄÇ®±Ò½ð¶î£ºDECIMAL ºÜÊÇÊʺϴ洢¾ßÓÐÌض¨¾«¶È£¨ÀýÈçÁ½Î»Ð¡Êý£©µÄÇ®±ÒÖµ¡£
ÖÎÀí²ÆÎñÊý¾Ý£ºÔÚÐèҪ׼ȷÅÌËãÀûÏ¢¡¢Ë°¿îºÍÓà¶îµÈ²ÆÎñÊý¾Ýʱ£¬DECIMAL ºÜÊÇÓÐÓá£
¿ÆѧÅÌË㣺DECIMAL ¿ÉÓÃÓÚ´æ´¢ºÍ´¦ÀíÐèÒª¸ß¾«¶ÈµÄ¿ÆѧÊý¾Ý£¬ÀýÈçÕÉÁ¿ÖµºÍʵÑéЧ¹û¡£
Óŵã
¸ß¾«¶È£ºDECIMAL ÌṩÁ˱ÈÆäËûÊý¾ÝÀàÐ͸ü¸ßµÄ¾«¶È£¬ºÜÊÇÊʺÏÐèҪ׼ȷÅÌËãµÄÓ¦ÓóÌÐò¡£
¿É±ä³¤¶È£ºDECIMAL µÄ³¤¶ÈÓÉ precision ºÍ scale Ö¸¶¨£¬ÔÊÐíƾ֤ÐèÒª´æ´¢²î±ð³¤¶ÈµÄÊý×Ö¡£
¹æÄ£¹ã£ºDECIMAL µÄ¹æÄ£¿ÉÒÔ´Ó -9e128 µ½ 9e128£¬×ãÒÔÖª×ã´ó´ó¶¼Ó¦ÓóÌÐòµÄÐèÇó¡£
ʾÀý
ÒÔÏÂʾÀýչʾÁËÔõÑùʹÓà DECIMAL Êý¾ÝÀàÐʹ洢Ǯ±Ò½ð¶î£º
CREATE TABLE payments ( amount DECIMAL(10, 2) NOT NULL );
µÇ¼ºó¸´ÖÆ
ÔÚÕâ¸öʾÀýÖУ¬amount Áб»ÉùÃ÷Ϊ DECIMAL(10, 2)£¬ÕâÒâζ×ÅËü¿ÉÒÔ´æ´¢¾ßÓÐ×ܹ² 10 λµÄÊý×Ö£¬Ð¡Êýµãºó×î¶à 2 λ¡£
ÏÞÖÆ
DECIMAL Êý¾ÝÀàÐͱÈÆäËûÊý×ÖÊý¾ÝÀàÐÍÕ¼ÓõĴ洢¿Õ¼ä¸ü´ó¡£
DECIMAL ÅÌËãͨ³£±ÈÆäËûÊý¾ÝÀàÐÍÂý¡£
ÒÔÉϾÍÊÇmysqlÖÐdecimalµÄÓ÷¨µÄÏêϸÄÚÈÝ£¬¸ü¶àÇë¹Ø×¢±¾ÍøÄÚÆäËüÏà¹ØÎÄÕ£¡