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。
答案 0 :(得分:1)
您正在寻找替换MySQL DATE()
函数的PostgreSQL中的函数是TO_DATE()
。
https://www.postgresql.org/docs/9.6/static/functions-formatting.html
通过提供日期的字符串表示作为第一个参数,使用日期格式作为第二个参数来使用它。