0

为什么我在 Microsoft Access odbc_exec() 中的查询“CONVERT”:SQL 错误:[Microsoft][ODBC Microsoft Access Driver] 表达式中未定义函数“CONVERT”。

这是我的查询

在此处输入图像描述

<?php

// setup database for your microsoft Access
// you can setup password in you microsoft Access

// this is a variable for your connection in odbc
// "zkConnection" is your ODBC Data Source Administrator
$conn = odbc_connect("zkConnection", "", "");

// create condition for testing conecction
if ($conn) {
    // echo "<br>Connection Established</br>";
} else {
    echo "Koneksi Gagal";
}

$from_date = $_REQUEST['from_date'];
$to_date = $_REQUEST['to_date'];

$query = "INSERT INTO CalculateData(USERID, Name, lastname, CardNo, DEPTID, DEPTNAME, SUPDEPTID, datein, timein, dateout, timeout)
          SELECT USERID, Name, lastname, CardNo, DEPTID, DEPTNAME, SUPDEPTID, CONVERT(date, CHECKTIME) AS datein, MIN(CHECKTIME) AS timein, CONVERT(date, CHECKTIME) AS dateout, MAX(CHECKTIME) AS timeout
          FROM TransactionLog
          WHERE CHECKTIME BETWEEN #$from_date# AND #$to_date#
          GROUP BY USERID, Name, lastname, CardNo, DEPTID, DEPTNAME, SUPDEPTID, CONVERT(date, CHECKTIME)";

$letsgo = odbc_exec($conn, $query);

if ($letsgo === false)
{
    die(print_r( odbc_error(), true));
}

header("location: index.php");

?>

这个解决方案有什么想法吗?

4

1 回答 1

1

Access SQL 中没有这样的东西CONVERT

相反,每个转换都有一个单独的函数,例如CDate, CInt,CStr等。

CONVERT(date, 与交换CDate(。请注意,Access 中的日期转换假定为 yyyy-mm-dd 或 mm/dd/yyyy。

有关转换函数的完整列表,请参阅https://docs.microsoft.com/en-us/office/vba/language/concepts/getting-started/type-conversion-functions

于 2021-09-29T09:14:19.780 回答