在MySQL中,我想将数字四舍五入到最接近的十位。例如812->810,还有819->810使用ROUND函数不起作用。 最佳答案 您可以按如下方式使用TRUNCATE函数:SELECTTRUNCATE(819,-1);SELECTTRUNCATE(812,-1);Result:810 关于mysql-如何将数字四舍五入到最接近的10?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/question
我正在尝试ROUND()或不是所选值。查询看起来像这样:SELECTb.Series,CASEWHENSeries='DMS'THENROUND(b.Quantity,0)ELSEROUND(b.Quantity,2)ENDASQuantityFROMbillb我也试过CASESeriesWHEN'DMS'THENROUND(b.Quantity,0)ELSEROUND(b.Quantity,2)ENDASQuantity,和IF(b.Series='DMS',ROUND(b.Quantity,0),ROUND(b.Quantity,2))ASQuantity,每次我得到末尾的两位小数
我得到了一个有通话记录的表格。详细信息包含以毫秒为单位的phone_number和call_time。哪条SQL语句的call_time列四舍五入到最近的前60位秒?示例:phone_number|call_time|rounded_time=====================================787-468-8965|45786|60787-564-8945|128907|180谢谢 最佳答案 转换为分钟。使用CEILING函数四舍五入到下一分钟。转换回秒数。试试这个:CREATEVIEWyourviewASS
我们在Ubuntu9.04上使用MySql5.0。完整版为:5.0.75-0ubuntu10我创建了一个测试数据库。里面还有一张测试台。我从插入语句中看到以下输出:mysql>CREATETABLEtest(floatyFLOAT(8,2))engine=InnoDb;QueryOK,0rowsaffected(0.02sec)mysql>insertintotestvalue(858147.11);QueryOK,1rowaffected(0.01sec)mysql>SELECT*FROMtest;+-----------+|floaty|+-----------+|858147.1
我是mysql的新手,需要一些基本的东西。我需要像这样四舍五入小数:21,4758应该是21,480,2250应该是0,2223,0850应该是23,0822,9950应该是22,99我尝试了很多东西,但都做不到。谢谢。 最佳答案 试试这个://roundthevaluetotwodecimalplacesSELECTROUND(,2)fieldFROM//usetruncateifyoudon'twan'ttoroundtheactualvalueSELECTTRUNCATE(,2)fieldFROM//youcanalsouse
我正在处理美元金额。在MySQL数据库中,以下字段fee和rate(percentage)是DECIMAL类型,精度为2位小数。SELECTROUND(fee*(1-rate/100))),2)asprofitfromproducts由于查询只是返回值而不是将它们保存在变量中,精度问题*是否仍然存在(PHP或JS自带)?如果是这样,最好在PHP或JS中舍入float?*是的,我的意思是保存double时出现的精度问题,例如,1.5可能会保存为1.49999999 最佳答案 其他人可能已经提到了这一点,但我想让您知道我用PHP处理货币
MySQL版本是5.66.22当我对存储在varchar中的十进制数字使用ROUND函数时,我发现所有.5数字都有奇怪的行为Selectround(0.5)1Selectround('0.5')0Selectround('26.5'+0.00)26但是Selectround(1.5)2Selectround('1.5')2Selectround(0.55,1)0.6Selectround('0.55',1)0.6我检查了OracleDB(12c)中的ROUND函数,它按预期工作Selectround('0.5')fromdual1Selectround(0.5)fromdual1有人知
我有一个名为Balance的MySQLView,它是使用PHPMyAdmin从2个表order和income创建的,并且包含一些计算字段,例如:CustomerBalance小数位自动变成8,我的意思是字段Type是decimal(50,8)我怎样才能让它只有2个? 最佳答案 你可以使用截断SELECTTRUNCATE(1.999,2);返回1.99selectTRUNCATE(your_column,2)fromyour_table; 关于MySQL查看小数位,我们在StackOver
我在MySQL中看到一些与用户创建的函数相关的奇怪行为。我会尽可能简化这一点。mysql>SELECT1/50+--------+|1/50|+--------+|0.0200|+--------+1rowinset(0.00sec)到目前为止一切顺利。现在我创建一个函数来执行此除法并调用该函数:mysql>delimiter$$mysql>createfunctionmyd(vardecimal)returnsdecimallanguagesqldeterministic->begin->declareresdecimal;->setres=var/50;->->returnres;
我正在尝试创建一个查询以获取整数街道地址编号并获取该地址的百block编号。例如。从300到399的任何值都会产生300等等。这是否可以在单个查询中实现,还是我应该编写一个脚本? 最佳答案 你可以像这样使用地板:SELECTFLOOR(399/100)*100; 关于mySQL-查询floor()或round()到下一个最低的100单位(地址的百block号),我们在StackOverflow上找到一个类似的问题: https://stackoverflow.