QueryMethod.java 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150
  1. package org.example.join.domain;
  2. import org.example.join.sql.SqlConstant;
  3. /**
  4. * SQL 函数。
  5. */
  6. public class QueryMethod {
  7. /**
  8. * 绝对值
  9. */
  10. public static QueryColumnFunction abs(Object obj) {
  11. return new QueryColumnFunction(SqlConstant.ABS, obj);
  12. }
  13. /**
  14. * 平均值
  15. */
  16. public static QueryColumnFunction avg(Object obj) {
  17. return new QueryColumnFunction(SqlConstant.AVG, obj);
  18. }
  19. /**
  20. * 数量
  21. */
  22. public static QueryColumnFunction count(Object obj) {
  23. return new QueryColumnFunction(SqlConstant.COUNT, obj);
  24. }
  25. /**
  26. * 将字符串 s1,s2 等多个字符串合并为一个字符串。
  27. */
  28. public static QueryColumnFunction concat(Object... objs) {
  29. return new QueryColumnFunction(SqlConstant.CONCAT, objs);
  30. }
  31. /**
  32. * 计算两个时间相差天数
  33. */
  34. public static QueryColumnFunction dateDiff(Object obj1, Object obj2) {
  35. return new QueryColumnFunction(SqlConstant.DATEDIFF, obj1, obj2);
  36. }
  37. /**
  38. * 日期格式
  39. */
  40. public static QueryColumnFunction dateFormat(Object obj1, Object obj2) {
  41. return new QueryColumnFunction(SqlConstant.DATE_FORMAT, obj1, obj2);
  42. }
  43. /**
  44. * 判断处理
  45. */
  46. public static QueryColumnFunction _if(Object obj1, Object obj2, Object obj3) {
  47. return new QueryColumnFunction(SqlConstant.IF, obj1, obj2, obj3);
  48. }
  49. /**
  50. * 判断值是否为null
  51. */
  52. public static QueryColumnFunction ifNull(Object obj1, Object obj2) {
  53. return new QueryColumnFunction(SqlConstant.IFNULL, obj1, obj2);
  54. }
  55. /**
  56. * 最大值
  57. */
  58. public static QueryColumnFunction max(IQueryColumn queryColumn) {
  59. return new QueryColumnFunction(SqlConstant.MAX, queryColumn);
  60. }
  61. /**
  62. * 最小值
  63. */
  64. public static QueryColumnFunction min(IQueryColumn queryColumn) {
  65. return new QueryColumnFunction(SqlConstant.MIN, queryColumn);
  66. }
  67. /**
  68. * 当前系统时间
  69. */
  70. public static QueryColumnFunction now() {
  71. return new QueryColumnFunction(SqlConstant.NOW);
  72. }
  73. /**
  74. * 替换字符串
  75. */
  76. public static QueryColumnFunction replace(IQueryColumn queryColumn, Object obj1, Object obj2) {
  77. return new QueryColumnFunction(SqlConstant.REPLACE, queryColumn, obj1, obj2);
  78. }
  79. /**
  80. * 四舍五入
  81. */
  82. public static QueryColumnFunction round(IQueryColumn queryColumn, Number number) {
  83. return new QueryColumnFunction(SqlConstant.ROUND, queryColumn, number);
  84. }
  85. /**
  86. * 截取字符串
  87. */
  88. public static QueryColumnFunction substr(IQueryColumn queryColumn, int position) {
  89. return new QueryColumnFunction(SqlConstant.SUBSTR, queryColumn, position);
  90. }
  91. /**
  92. * 截取字符串
  93. */
  94. public static QueryColumnFunction substr(IQueryColumn queryColumn, int position, int length) {
  95. return new QueryColumnFunction(SqlConstant.SUBSTR, queryColumn, position, length);
  96. }
  97. /**
  98. * 获取字符个数
  99. */
  100. public static QueryColumnFunction length(Object obj) {
  101. return new QueryColumnFunction(SqlConstant.LENGTH, obj);
  102. }
  103. /**
  104. * 获取年
  105. */
  106. public static QueryColumnFunction year(Object obj) {
  107. return new QueryColumnFunction(SqlConstant.YEAR, obj);
  108. }
  109. /**
  110. * 获取月
  111. */
  112. public static QueryColumnFunction month(Object obj) {
  113. return new QueryColumnFunction(SqlConstant.MONTH, obj);
  114. }
  115. /**
  116. * 获取日
  117. */
  118. public static QueryColumnFunction day(Object obj) {
  119. return new QueryColumnFunction(SqlConstant.DAY, obj);
  120. }
  121. /**
  122. * 获取小时
  123. */
  124. public static QueryColumnFunction hour(Object obj) {
  125. return new QueryColumnFunction(SqlConstant.HOUR, obj);
  126. }
  127. }