영업일(TB_BIZDAY).sql 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293
  1. INSERT INTO TB_BIZDAY
  2. SELECT DATE_FORMAT(DT,'%Y%m%d') AS BIZDAY
  3. , CASE DAYOFWEEK(DT)
  4. WHEN 1 THEN '일'
  5. WHEN 2 THEN '월'
  6. WHEN 3 THEN '화'
  7. WHEN 4 THEN '수'
  8. WHEN 5 THEN '목'
  9. WHEN 6 THEN '금'
  10. WHEN 7 THEN '토'
  11. END AS WEEK_DAY
  12. , CASE WHEN DATE_FORMAT(DT,'%Y%m') IN ('0101','0301','0505','0606','0815','1009','1225') OR DAYOFWEEK(DT) IN (1,7) THEN
  13. 'N'
  14. ELSE
  15. 'Y'
  16. END AS BIZDAY_YN
  17. , CASE WHEN DATE_FORMAT(DT,'%Y%m') IN ('0101','0301','0505','0606','0815','1009','1225') THEN
  18. '공휴일'
  19. WHEN DAYOFWEEK(DT) IN (1,7) THEN
  20. '주말'
  21. ELSE
  22. NULL
  23. END AS RESTDAY_DESC
  24. , 1 AS REG_NO
  25. , NOW() AS REG_DT
  26. , 1 AS UPD_NO
  27. , NOW() AS UPD_DT
  28. FROM (
  29. SELECT ADDDATE('1970-01-01',T4.I*10000 + T3.I*1000 + T2.I*100 + T1.I*10 + T0.I) AS DT
  30. FROM (
  31. SELECT 0 AS I
  32. UNION SELECT 1 AS I
  33. UNION SELECT 2 AS I
  34. UNION SELECT 3 AS I
  35. UNION SELECT 4 AS I
  36. UNION SELECT 5 AS I
  37. UNION SELECT 6 AS I
  38. UNION SELECT 7 AS I
  39. UNION SELECT 8 AS I
  40. UNION SELECT 9 AS I
  41. ) T0
  42. , (
  43. SELECT 0 AS I
  44. UNION SELECT 1 AS I
  45. UNION SELECT 2 AS I
  46. UNION SELECT 3 AS I
  47. UNION SELECT 4 AS I
  48. UNION SELECT 5 AS I
  49. UNION SELECT 6 AS I
  50. UNION SELECT 7 AS I
  51. UNION SELECT 8 AS I
  52. UNION SELECT 9 AS I
  53. ) T1
  54. , (
  55. SELECT 0 AS I
  56. UNION SELECT 1 AS I
  57. UNION SELECT 2 AS I
  58. UNION SELECT 3 AS I
  59. UNION SELECT 4 AS I
  60. UNION SELECT 5 AS I
  61. UNION SELECT 6 AS I
  62. UNION SELECT 7 AS I
  63. UNION SELECT 8 AS I
  64. UNION SELECT 9 AS I
  65. ) T2
  66. , (
  67. SELECT 0 AS I
  68. UNION SELECT 1 AS I
  69. UNION SELECT 2 AS I
  70. UNION SELECT 3 AS I
  71. UNION SELECT 4 AS I
  72. UNION SELECT 5 AS I
  73. UNION SELECT 6 AS I
  74. UNION SELECT 7 AS I
  75. UNION SELECT 8 AS I
  76. UNION SELECT 9 AS I
  77. ) T3
  78. , (
  79. SELECT 0 AS I
  80. UNION SELECT 1 AS I
  81. UNION SELECT 2 AS I
  82. UNION SELECT 3 AS I
  83. UNION SELECT 4 AS I
  84. UNION SELECT 5 AS I
  85. UNION SELECT 6 AS I
  86. UNION SELECT 7 AS I
  87. UNION SELECT 8 AS I
  88. UNION SELECT 9 AS I
  89. ) T4
  90. ) V
  91. WHERE DT BETWEEN DATE_FORMAT(NOW(),'%Y-%m-%d') AND '2040-12-31'
  92. -- ORDER BY DT DESC
  93. ;