查看: 11651|回复: 2

自定义查询语句JPQL语句不能正常执行

升级   0.09%

1

主题

2

回帖

9

积分

注册会员

Rank: 2

积分
9
发表于 2021-7-13 17:10:36 | 显示全部楼层 |阅读模式
管理员您好,我这边有个调休的需求功能需要开发。我在数据中心新建了一个自定义数据表,里面大概包含了年份(int类型)、月份(int类型)、姓名(string类型)和可调休时间(double类型),我现在写了一条SQL语句,累加某个人的近3个月的可调休时间,由于年份和月份是分别存储的,且是int类型,现在需要拼接成比如 2021-6 这种格式,我这边从网上找的资料说JPQL可以通过CAST(字段名 AS TEXT)函数转换成字符串进行拼接,但是为什么拼接然后通过接口测试的时候老是报错啊,试了SQLServer数据库的VARCHAR类型也同样报错?下面是我写的查询语句,错误信息我截图放附件了。
SELECT SUM(o.U_Time) FROM TiaoXiuTimeTable o WHERE CAST(o.U_Year AS VARCHAR(4)) + '-' + CAST(o.U_Month AS VARCHAR(2)) IN ('2021-6', '2021-5', '2021-4') AND o.U_Name = 'test'
回复

使用道具 举报

升级   100%

139

主题

1万

回帖

4万

积分

超级版主

Rank: 8Rank: 8

积分
41458
发表于 2021-7-14 10:24:00 | 显示全部楼层
您好:应该是CAST 函数的问题。 不支持使用该函数!
回复

使用道具 举报

升级   0.09%

1

主题

2

回帖

9

积分

注册会员

Rank: 2

积分
9
发表于 2021-7-14 10:45:23 | 显示全部楼层
但是我在网上搜的JPQL类型转换,网上说的解决方案是CAST(字段名 AS TEXT),如果不支持的话,有其他什么解决办法吗,不会需要修改表结构吧?
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

联系客服 关注微信 下载APP 返回顶部 返回列表
viewthread