mysql - R Shiny 应用程序中的 SQL 查询语法 - CAST

标签 mysql sql r shiny

这是此问题的后续:Working with reactiveValues and ggplot in shiny 。我正在制作一个查询 SQL 数据库的 Shiny 应用程序。在我针对该问题的工作示例中,我通过使用 CAST 自动导入特定格式的数据,成功避免了更改 Shiny 中 react 数据的格式:

不带强制转换的查询

b <- reactive({ paste("select Wafer, Batch, MeasurementA, MeasurementB from dd where ID=",e()," Order by  ID asc ;", sep="") })

使用强制转换进行查询以自动更改列格式

b <- reactive({ paste("select cast(Wafer as varchar) as Wafer, cast(Batch as varchar) as Batch, MeasurementA, MeasurementB from dd where ID=",e()," Order by  ID asc ;", sep="") })

这在我用于解决问题的工作示例中效果很好。但是,当我将其应用到我的真实应用程序时,我收到语法错误:

b <- reactive({ paste("select cast(e.erf_num as varchar) as ERF, cast(w.wafer_id as varchar) as Wafer, d.name,d.row,d.col,d.width,d.length,t.test_date, 

                        t.von_fwd,t.vth_fwd,t.sts_fwd,t.on_off_fwd,t.curr_on_fwd,t.curr_off_fwd,t.rds_on_fwd, t.rds_on_fwd,
                        t.von_rev,t.vth_rev,t.sts_rev,t.on_off_rev,t.curr_on_rev,t.curr_off_rev,t.rds_on_rev, t.rds_on_rev, t.delta_vth, t.id

                        from transfer_data_temp AS t
                        inner join wafer AS w ON t.wafer_id=w.id
                        inner join device AS d ON t.device_id=d.id
                        inner join erf AS e on t.wafer_id=e.wafer_id

                        where
                        t.wafer_id=",e()," Order by  d.name asc , t.test_date;", sep="") })


Unhandled error in observer: could not run statement: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'varchar), cast(wafer.wafer_id as varchar), d.name,d.row,d.col,d.width,d.length,t' at line 1 

我知道该查询无需 CAST 即可工作,因为我之前曾成功使用过它。所以我提请注意查询的这一部分:

  b <- reactive({ paste("select cast(e.erf_num as varchar) as ERF, cast(w.wafer_id as varchar) as Wafer, 

有什么想法为什么这适用于前者但不适用于后者?如果有帮助的话,我可以发布我的所有代码以提供完整的工作示例(避免使用 ATM,因为它有点长)。谢谢。皮特

最佳答案

啊好吧,出于某种原因,如果我将 AS varchar 更改为 AS character 它就可以工作。不要没有为什么。在问问题之前我应该​​多玩一会儿!

关于mysql - R Shiny 应用程序中的 SQL 查询语法 - CAST,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31933289/

相关文章:

sql - TABLOCK 和 TABLOCKX 定义示例

mysql - SQL 返回包含与主键相关的外键的表列表

r - 使用函数列表的线性回归

r - 将 R 中的两个列表组合成一个数据框

mysql - 如何为 2 个表订购 LEFT JOIN

mysql - 创建一个表,其中一些列是 MySQL 中其他表的 View ?

用于创建经过身份验证的全特权用户及其数据库的 MySQL 糖语法

R : environment to data. 帧

php - 在 PHP 代码中提供给 mysql_stmt_execute 的未知准备语句处理程序 (0)

mysql - 在 MySQL GROUP BY 中计数 "repeats"