当我使用PDO对mysql数据库运行此查询时,它返回错误的数据类型。
<?php
$parameters = array(":1",92323);
$query = " SELECT s.Site_ID,s.Site_Url,s.Site_Name, s.Site_Approved, s.Site_Status, s.Thumbnailed ,st.Description AS Site_Status_Desc
FROM Sites s
LEFT JOIN Sites_Status st ON st.Status_ID = s.Site_Status
WHER
好的,我将用户的收入存储在我的数据库中,我将列设置为decimal(5,5)。
看起来,一旦值达到0.99999,它就不会再变得更高了,例如1.00000。
我正在做一个简单的更新
$fdfsdfdsfsdf = mysql_query("UPDATE users SET available_earning=available_earning+0.00002 WHERE id = '".$owner2."'")
or die(mysql_error());
更新一直持续到收益达到0.99999,然后停止。你知道我能做什么吗?
我想把两个值连在一起
SELECT col1||col2 FROM tab1;
其中,col1保存一个字符串,而col2保存一个数字,只要col2的值大于1,这个数字就工作得很好。对于小于1的值,对前导零进行三次排序。例如:
Select 'A ' || 1.1 from dual;
返回A 1,1但是
Select 'A ' || 0.1 from dual;
返回A ,1。如何保持前导零,并得到上面的例子A 0,10
问题
我使用的是SQLite,我有一堆字段,表示以毫米为单位的度量,我想将其限制在小数点之后的1位(例如,1.2;12.2;122.2等等)。
例如,我看到了将DECIMAL(n,1)作为类型的东西,我尝试过,但是它似乎并不限制值(我想这是因为它不是一个实际的SQLite类型)。
我需要迁移到MySQL才能工作吗?
编辑(找到解决方案)
我用了丹04的答案:很简单,而且效果很好:
►表如下:
CREATE TABLE demo(
a REAL CHECK(a = ROUND(a,1)),
b REAL CHECK(b = ROUND(b,1)),
c REAL GENERATED ALWAY
我很好奇为什么转换为字符串会丢失十进制,但是当我直接传入对象时,它会维护它的值。
//set number of decimals at 1
//This code produces whole numbers even though I set number to 1 decimal point.
NumberFormat number = NumberFormat.getNumberInstance();
number.setMaximumFractionDigits(1);
String averageScoreString = number.format(averageScore)