无法使用 SQL 通过 LuaSQL 格式化 LuaLaTeX 中的日期并将参数传递给编译器

无法使用 SQL 通过 LuaSQL 格式化 LuaLaTeX 中的日期并将参数传递给编译器

我正在开发一个 LuaLaTeX 示例,其中必须使用 Lua 从我的数据库传输日期,然后使用 LuaLaTeX 进行编译。我使用 LuaSQL 来完成所有这些工作,这是最小的工作示例:

predracun.lua:

function skupina_pricetek ()
    package.cpath = package.cpath .. ";/usr/lib/lua/5.3/luasql/mysql.so"
    luasql = require('luasql.mysql')
    env = assert (luasql.mysql())
    con = assert (env:connect("my_database","root","my_password"))

    cur = assert (con:execute("SELECT pricetek FROM skupine WHERE id_skupine = (SELECT id_skupine FROM predracuni WHERE id_interesa = 1);"))

    vnos = cur:fetch ({}, "a")

    tex.print(
        string.format([[%s]], vnos.pricetek)
    )

end

predracun.tex:

\documentclass[12pt]{article}

%package for Lua support
\usepackage{luacode}
    \directlua{dofile('predracun.lua')}

\begin{document}

        Pričetek: & \luadirect{skupina_pricetek()}       

\end{document} 

现在一切正常:

在此处输入图片描述

它一直有效,直到我尝试通过替换SELECT pricetek来格式化日期普雷德拉库恩使用下面任意一行:

SELECT DATE_FORMAT(pricetek,'%d. %m. %Y')
SELECT Concat(DAY(pricetek),'. ',MONTH(pricetek),'. ',YEAR(pricetek))

如果我这样做,我会得到:

在此处输入图片描述

看起来 LuaSQL 并不完全支持 SQL... 或者我遗漏了一些转义字符等?请注意,如果直接在数据库中执行,所描述的修改将完美无缺。


有人知道我如何在命令中传递参数123...吗?我需要为每个客户将其更改为或......lualatex predracun.texid_interesa = 1id_interesa = 2id_interesa = 3

相关内容