警告:pg_query():查询失败:错误:没有existelauncióndate

时间:2017-07-14 15:34:57

标签: postgresql php-5.6

Buenas,quisiera que me aportaran ayuda para resolver el siguiente error:

Warning: pg_query(): Query failed: 
ERROR: no existe la función date(timestamp without time zone, unknown) 
LINE 4: ...nombre LIKE '%%' OR a.titulo_articulo LIKE '%%'OR DATE(a.fec... ^ 
HINT: Ninguna función coincide en el nombre y tipos de argumentos. Puede ser necesario agregar conversión explícita de tipos. 
in C:\xampp\htdocs\OvamExtranet\Vistas\paginador_ini.php on line 10

En mi archivo paginador_ini.php en la linea 10,tengo el siguiente codigo:

$datos=pg_query($consulta);
$num_rows=pg_num_rows($datos); //MIRO CUANTOS DATOS FUERON DEVUELTOS
$rows_per_page= $tam; //ACA SE DECIDE CUANTOS RESULTADOS MOSTRAR POR PÁGINA
$lastpage= ceil($num_rows / $rows_per_page); //CALCULO LA ULTIMA PÁGINA
$page=(int)$page; //COMPRUEBO QUE EL VALOR DE LA PÁGINA SEA CORRECTO Y SI ES LA ULTIMA PÁGINA

La variable $ consulta llega desde un sql escrito de la siguiente manera:

if ($conex=conexion()){
$word = $_GET['word'];
    $consulta = "SELECT DISTINCT a.id_archivo, a.nombre AS narchivo, a.titulo_articulo, a.fecha, b.nombre AS ncategoria, a.prioridad
        FROM archivos AS a
        INNER JOIN categorias AS b ON a.id_categoria = b.id_categoria
        WHERE estatus = 1 AND (a.nombre LIKE '%$word%' OR b.nombre LIKE '%$word%' OR a.titulo_articulo LIKE '%$word%'OR DATE(a.fecha,'%d-%m-%Y') LIKE '%$word%' OR a.palabra LIKE '%$word%') ORDER BY a.id_archivo DESC";
$tam = 15;
list($exec,$numrows,$page,$lastpage) = paginador_ini($consulta,$tam);  }

alguien que pueda ayudarme a corregir el error,sèquetiene que ver con el tipo de datos,pero no entiendo por que,el dato que estoy queriendo consultar es precisamente una fecha。

1 个答案:

答案 0 :(得分:1)

您正在寻找替换MySQL DATE()函数的PostgreSQL中的函数是TO_DATE()

https://www.postgresql.org/docs/9.6/static/functions-formatting.html

通过提供日期的字符串表示作为第一个参数,使用日期格式作为第二个参数来使用它。