Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/283.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 逗号前面的零不显示_Php_Sql Server_Sqlsrv - Fatal编程技术网

Php 逗号前面的零不显示

Php 逗号前面的零不显示,php,sql-server,sqlsrv,Php,Sql Server,Sqlsrv,我有一个PHP查询,到目前为止运行良好。 例如,如果值为0.5,我只得到0.5,而没有0。 我该怎么做呢。以下是我的查询示例 $query ="SELECT TOP 60 z.plan_auftrag, b.aunr, m.artikel, b.user_n_07,b.user_c_47, b.user_n_08, b.erranf_dat, b.erranf_zeit, s.a_status,m.bez_1, m.bez_2, b.user_f_25,b.user_f_26,b.u

我有一个PHP查询,到目前为止运行良好。 例如,如果值为0.5,我只得到0.5,而没有0。 我该怎么做呢。以下是我的查询示例

$query ="SELECT TOP 60 z.plan_auftrag, b.aunr, m.artikel, b.user_n_07,b.user_c_47, b.user_n_08, 
b.erranf_dat, b.erranf_zeit, s.a_status,m.bez_1, m.bez_2, b.user_f_25,b.user_f_26,b.user_c_48, 
b.user_c_49, b.user_c_56";
$query.=" FROM [hydra1].[hydadm].[v_auftrags_zusatz] z";
$query.=" JOIN [hydra1].[hydadm].[auftrags_bestand] b";
$query.=" ON z.auftrag_nr = b.aunr";
$query.=" JOIN [hydra1].[hydadm].[v_auftrag_status] s";
$query.=" ON b.auftrag_nr = s.auftrag_nr";
$query.=" JOIN [hydra1].[hydadm].[mlst_hy] m";
$query.=" ON s.auftrag_nr = m.auftrag_nr";
$query.=" WHERE s.masch_nr = 'QTA2'"; 
$query.=" AND s.a_status IN ('V','L','U')";
$query.=" AND m.kennz = 'M'";
$query.=" AND s.eingeplant = ('M')";    
$query.=" AND b.a_typ IN ('AU','AG')";
$query.=" ORDER BY s.a_status ASC, b.errend_dat ASC, b.errend_zeit ASC";

$result = sqlsrv_query($conn, $query);

echo "<td>";
echo $row['aunr'];
echo "</td>";
$query=“选择60强z.plan\u auftrag、b.aurn、m.artikel、b.user\u n\u 07、b.user\u c\u 47、b.user\u n\u 08、,
b、 erranf_dat,b.erranf_zeit,s.a_状态,m.bez_1,m.bez_2,b.user_f_25,b.user_f_26,b.user_c_48,
b、 用户_c_49,b.用户_c_56”;
$query.=“来自[hydra1].[hydadm].[v_auftrags_zusatz]z”;
$query.=“加入[hydra1].[hydadm].[auftrags_bestand]b”;
$query.=“ON z.auftrag_nr=b.aunr”;
$query.=“加入[hydra1].[hydadm].[v_auftrag_status]s”;
$query.=“在b.auftrag\u nr=s.auftrag\u nr上”;
$query.=“加入[hydra1].[hydadm].[mlst_hy]m”;
$query.=“在s.auftrag\u nr=m.auftrag\u nr上”;
$query.=“其中s.masch_nr='QTA2';
$query.=“和s.a_状态在('V','L','U')”;
$query.=“和m.kennz='m'”;
$query.=“和s.eingeplant=('M')”;
$query.=“和b.a_类型在('AU','AG')”;
$query.=“按s.a_状态ASC、b.errend_数据ASC、b.errend_zeit ASC排序”;
$result=sqlsrv_查询($conn,$query);
回声“;
echo$row['aunr'];
回声“;

例如,
'aunr'
除非您实际存储预格式化字符串(这似乎不太可能),
.5
0.5
对于任何数据库来说都是相同的。如果要强制在输出中显示前导零,可以使用
printf()
的格式化功能:


有关格式化模板的含义,请参见。

解决此问题的一个选项是在
sqlsrv\u query()调用中使用适当的查询属性。
调用:

<php

...
$options = array("FormatDecimals" => true);
$result = sqlsrv_query($conn, $query, null, $options);

...
?>

现在还不太清楚这里的问题是什么。你是说
0.5
显示为
.5
还是相反(标题会建议第一个选项,但问题本身让我困惑)?值是如何存储的?
<php

...
$options = array("FormatDecimals" => true);
$result = sqlsrv_query($conn, $query, null, $options);

...
?>
<?php 
// Connection
$servername = "server\instance";
$cinfo = array(
    "UID" => 'username',
    "PWD" => 'password',
    "Database" => 'database'
);
$conn = sqlsrv_connect($servername, $cinfo);
if ($conn === false) {
    die(print_r( sqlsrv_errors(), true));
}

// Statement
$query = "SELECT CONVERT(numeric(5,2), 0.5) AS [Number]";
$options = array("FormatDecimals" => true);
$stmt = sqlsrv_query($conn, $query, null, $options);
if ($stmt === false) {
    echo "Error";
    die(print_r(sqlsrv_errors(), true));
}

// Fetch data
while ($row = sqlsrv_fetch_array($stmt, SQLSRV_FETCH_ASSOC)) {
    echo $row["Number"]."<br>";
}

// End
sqlsrv_free_stmt($stmt);
sqlsrv_close($conn);
?>