【发布时间】:2019-12-01 19:44:26
【问题描述】:
我正在使用SparkR 的read.jdbc 函数从Databricks 查询Azure-SQL-database。
向数据库发送查询没有问题,但是,我想使用 SET DATEFIRST 7; 将星期的开始时间设置为星期日,但我找不到这样做的方法。
我已经阅读了question 的答案,我可以使用其中的一些作为解决方法。但是,我想知道是否有办法从Databricks 设置DATEFIRST(我不介意使用python 或Scala 来做到这一点)。
我的代码如下:
query <- "SET DATEFIRST 7;
(SELECT
DATEPART(yyyy,[calday]) * 100 + DATEPART(WEEK,[calday]) as calyearweek
FROM [dbo].[table]) out"
table <-
read.jdbc(
url = jdbcUrl,
database = jdbcDatabase ,
tableName = query,
user = user,
password = password
)
如果我删除SET DATEFIRST 7;,我会得到查询结果。
如果我保留它,我会收到以下错误:
jdbc 中的错误:com.microsoft.sqlserver.jdbc.SQLServerException: 关键字“SET”附近的语法不正确
【问题讨论】:
-
7 是默认值。你不需要设置它。 docs.microsoft.com/en-us/sql/t-sql/statements/…
标签: r azure-sql-database databricks sparkr