mysql_real_escape_string / Говнокод #23151 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10
  11. 11
  12. 12
  13. 13
  14. 14
  15. 15
  16. 16
  17. 17
  18. 18
  19. 19
  20. 20
  21. 21
  22. 22
  23. 23
  24. 24
  25. 25
  26. 26
  27. 27
  28. 28
  29. 29
  30. 30
  31. 31
  32. 32
  33. 33
create or replace function TO_NUMBER_EX (sNumber in varchar2) return number is
---------------------------------------------------------------------
--  Преобразование  строки в число с разными символами разделителями
---------------------------------------------------------------------
  iRet number(12,3) :=0;
  cReplSgn char(1);
  cToReplSgn char(1);
begin
   begin
     iRet := to_number(sNumber);
   exception
     when OTHERS then
       iRet := null;
   end;

   if iRet is null then
     begin
       if instr(sNumber,'.') > 0 then
         cReplSgn := '.';
         cToReplSgn := ',';
       else
         cReplSgn := ',';
         cToReplSgn := '.';
       end if;
       iRet :=  to_number(replace(sNumber,cReplSgn,cToReplSgn));
     exception
       when OTHERS then
         iRet := null;
     end;
   end if;

   return(nvl(iRet,0));
end TO_NUMBER_EX;

PL/SQL
велосипедно-костыльное программирование с неожиданными значениями по умолчанию

ColvirBydlokod ColvirBydlokod, (Updated )

Комментарии (0)

mysql_real_escape_string / Говнокод #23096 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10
  11. 11
  12. 12
  13. 13
  14. 14
  15. 15
  16. 16
  17. 17
  18. 18
  19. 19
  20. 20
function try_to_date(p_value in varchar2)
return date
is
  l_date date;                  
  
  l_fmt sys.odcivarchar2list := sys.odcivarchar2list('DD.MM.YYYY', 'YYYY/MM/DD', 'YYYY.MM.DD', 'dd.mm.yyyy', 'yyyy/mm/dd', 'yyyy.mm.dd');
begin

  for i in 1..l_fmt.count loop  
    begin
      l_date := to_date(p_value, l_fmt(i));    
      return l_date;
    exception
    when OTHERS then null;    
    end;
  end loop;
  
  return null;  
  
end;

n1919 n1919, (Updated )

Комментарии (0)

mysql_real_escape_string / Говнокод #23088 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
if @SubDepartmentID = 0 set @SubDepartmentID = null
if @QuoteID = 0 set @QuoteID = null
if @PartnerID = 0 set @PartnerID = null
if @QuoteID = 0 set @QuoteID = null
if @SubDepartmentID = 0 set @SubDepartmentID = null

это кусок хранимой процедуры

mrvlmor mrvlmor, (Updated )

Комментарии (1, +1)

mysql_real_escape_string / Говнокод #23058 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
SELECT CASE WHEN MIN (t.start_date) IS NULL THEN TO_DATE ('31/12/4712', 'DD/MM/YYYY')
       ELSE MIN (t.start_date) END
  FROM my_table t, ...

NVL/COALESCE придумали лентяи!
Это маленький кусочек запроса размером порядка 35 КБ. Там весь этот запрос прекрасен чуть менее чем полностью...

climber climber, (Updated )

Комментарии (0)

mysql_real_escape_string / Говнокод #22418 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10
  11. 11
  12. 12
  13. 13
  14. 14
  15. 15
  16. 16
  17. 17
  18. 18
Select count(*) From news WHERE bigblock = 0 AND 
(
	(
		(parent = 30) AND 
		(
			(news_onmain = 1) OR (bigblock = 1) OR (news_onmain2 = 1)
		)
	)
) OR 
(
	(
		parent IN (31,32,33,53,34,46,35)
	) 
	OR 
	(
		categories REGEXP (31|32|33|53|34|46|35)
	)
) AND date < 1487598228

Эталон!

nt1kmd nt1kmd, (Updated )

Комментарии (5, +5)

mysql_real_escape_string / Говнокод #22343 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10
  11. 11
  12. 12
  13. 13
  14. 14
  15. 15
  16. 16
  17. 17
  18. 18
  19. 19
  20. 20
  21. 21
  22. 22
  23. 23
  24. 24
  25. 25
  26. 26
  27. 27
  28. 28
  29. 29
  30. 30
  31. 31
SELECT main.id, main.post_title AS title,
        t1.meta_value  AS description,
        t2.meta_value  AS after_course,
        t3.meta_value  AS program,
        t4.meta_value  AS claims,
        t5.meta_value  AS num_times,
        t6.meta_value  AS duration,
        t7.meta_value  AS bg_color,
        t8.meta_value  AS cost,
        t9.meta_value  AS discount,
        t10.meta_value AS date1,
        t11.meta_value AS date2,
        t12.meta_value AS date3,
        t13.meta_value AS date4
FROM wp_posts AS main
LEFT  JOIN wp_postmeta AS t1  ON t1.post_id  = main.id AND t1.meta_key  = 'Описание'
LEFT  JOIN wp_postmeta AS t2  ON t2.post_id  = main.id AND t2.meta_key  = 'После курса'
LEFT  JOIN wp_postmeta AS t3  ON t3.post_id  = main.id AND t3.meta_key  = 'Программа'
LEFT  JOIN wp_postmeta AS t4  ON t4.post_id  = main.id AND t4.meta_key  = 'Требования'
LEFT  JOIN wp_postmeta AS t5  ON t5.post_id  = main.id AND t5.meta_key  = 'time'
LEFT  JOIN wp_postmeta AS t6  ON t6.post_id  = main.id AND t6.meta_key  = 'long'
LEFT  JOIN wp_postmeta AS t7  ON t7.post_id  = main.id AND t7.meta_key  = 'HEX'
LEFT  JOIN wp_postmeta AS t8  ON t8.post_id  = main.id AND t8.meta_key  = 'cost'
LEFT  JOIN wp_postmeta AS t9  ON t9.post_id  = main.id AND t9.meta_key  = 'discont'
LEFT  JOIN wp_postmeta AS t10 ON t10.post_id = main.id AND t10.meta_key = 'date1'
LEFT  JOIN wp_postmeta AS t11 ON t11.post_id = main.id AND t11.meta_key = 'date2'
LEFT  JOIN wp_postmeta AS t12 ON t12.post_id = main.id AND t12.meta_key = 'date3'
LEFT  JOIN wp_postmeta AS t13 ON t13.post_id = main.id AND t13.meta_key = 'date4'
INNER JOIN wp_term_relationships ON main.id = wp_term_relationships.object_id
WHERE wp_term_relationships.term_taxonomy_id = :term_taxonomy_id AND main.post_status = 'publish'
ORDER BY main.menu_order DESC

нашел на проекте такой кусочек.

serek serek, (Updated )

Комментарии (5, +5)

mysql_real_escape_string / Говнокод #22306 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10
  11. 11
with cteTypes (TypeId)
as (
			  select 4 
	union all select 5 
	union all select 6 
	union all select 9 
	union all select 1 			
) 
select *
from dbo.SomeTable tbl
    cross join ( select TypeId from cteTypes ) t ( TypeId )

Великолепный CROSS JOIN.
Не пишите так, можно просто:
cross join cteTypes
и все!

qsmart qsmart, (Updated )

Комментарии (2, +2)