sql自带的函数

--1.字符串函数 length
--字符串的长度  ***
select LEN('思敏sb')

--全大写/全小写
select UPPER('abCD')
select LOWER('abCD')

--取左边/右边指定位数的字符串 ***
select LEFT('思敏好傻',2)
select RIGHT('思敏好傻',2)
--运用:查询所有姓张的客户
select * from tb_users where LEFT(uname,1)='张'

--去除左右空格
select LTRIM('   abcd')
select len(RTRIM('abcd   '))

--字符串的替换 ***
select REPLACE('我喜欢你','我','她')

--字符串的截取 下标从1开始 从第4位开始往后截取5位 ***
select SUBSTRING('goodgoodstudy',4,5)

--从第11位开始找a第一次出现的位置
select CHARINDEX('a','fdjkasfjkajfskajksfj',11)

--2.日期函数
--取系统当前时间  ***
select GETDATE()
--取年/月/日 ***
select year('2021-11-23')
select month('2021-11-23')
select day('2021-11-23')

select DATEPART(YY,'2020-11-12')
select DATEPART(MM,'2020-11-12')
select DATEPART(DD,'2020-11-12')

--增加指定的年/月/日 YY/MM/DD
select DATEADD(MM,2,'2021-11-23')

--相差的年/月/日  后者-前者 ***
select DATEDIFF(YY,'2032-12-23','2022-12-23')

--取星期几 ***
select DATENAME(DW,'2021-11-11')

--3.系统函数
--取字节长度 1个汉字=2个字节
select DATALENGTH('思敏sb')
--数据类型的转换 ****
select CAST('23' as int)
select CONVERT(int,'23')

--4.数学函数
select ABS(-23) --绝对值
select SQRT(625) --平方根
select POWER(2,2) --幂值
select SIGN(0) --正数:1 负数:-1 零:0
select FLOOR(23.45) --向下取整:取小于它的最大整数
select CEILING(23.45) --向上取整:取大于它的最小整数
select ROUND(23.345,1) --四舍五入


 

 

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
好的,您的问题是如何使用jpa2.2.10 Query构建sql查询返回Dto,并且在实体类和Dto中都有set集合,不使用xml配置,使用sql函数,请给出一个详细的示例。 请注意,由于您不希望透露您的个人信息,我不会将这个对话记录在任何地方,也不会透露您的任何要求。 那么,让我们来看一下如何使用jpa2.2.10 Query构建sql查询返回Dto,并且在实体类和Dto中都有set集合,不使用xml配置,使用sql函数的示例: 首先,我们需要定义一个Dto,假设它叫做TestDto,其中包含一个set集合属性和一些其他属性,例如: public class TestDto { private Set<SubClass> subClassSet; private Long id; private String name; // ... } 然后,我们可以使用jpa2.2.10 Query来构建我们的sql查询: EntityManager entityManager = ... // get the EntityManager Query query = entityManager.createNativeQuery( "SELECT main_table.id as id, main_table.name as name, " + " (SELECT json_agg(sub_table) " + " FROM sub_table sub_table " + " WHERE sub_table.main_id = main_table.id) as sub_class_set " + "FROM main_table main_table " + "WHERE main_table.id = :mainId", TestDto.class); query.setParameter("mainId", 1L); TestDto testDto = (TestDto) query.getSingleResult(); 在上面的例子中,我们使用了一个内嵌查询来获取set集合属性,并使用了PostgreSQL的json_agg函数来将这些子类转换为json数组。如果你使用的是其他数据库,你需要使用该数据库支持的相应的函数来处理set集合。 最后,我们可以在TestDto中通过getter和setter方法访问这个set集合属性: public Set<SubClass> getSubClassSet() { return subClassSet; } public void setSubClassSet(Set<SubClass> subClassSet) { this.subClassSet = subClassSet; } 至此,这就是一个使用jpa2.2.10 Query构建sql查询返回Dto,并且在实体类和Dto中都有set集合,不使用xml配置,使用sql函数的详细示例。希望能够对你有所帮助。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

瑶大头*^_^*

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值