首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在read.jdbc SparkR中设置Datefirst

在read.jdbc SparkR中设置Datefirst
EN

Stack Overflow用户
提问于 2019-12-01 19:44:26
回答 1查看 200关注 0票数 1

我正在使用Azure-SQL-databaseread.jdbc函数从Databricks查询一个read.jdbc

我在向数据库发送查询时没有问题,但是,我想在周日使用SET DATEFIRST 7;设置一周的开始,但我无法找到这样做的方法。

我已经阅读了这个问题的答案,我可以用其中的一些作为解决办法。但是,我想知道是否有一种从Databricks设置Databricks的方法(我不介意使用pythonScala来做)。

我的代码看起来是:

代码语言:javascript
复制
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”附近的不正确语法

EN

回答 1

Stack Overflow用户

发布于 2019-12-01 20:51:30

7是SQL中的默认值,因为您可以使用@@DATEFIRST函数进行确认。您不必将DATEFIRST设置为7。

代码语言:javascript
复制
SELECT @@DATEFIRST;

如果需要为DATEFIRST设置不同的值,请尝试从存储过程内部设置它。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59129304

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档