Я только что наткнулся на интересную проблему, пытаясь обрезать ведущие нули из нечислового поля в SQL. (Так как он может содержать символы, он может не только быть конвертирован в число, а затем обратно.)Алгоритмы для обрезания ведущих нулей из поля SQL?
Это то, что мы в конечном итоге с помощью:
SELECT REPLACE(LTRIM(REPLACE(fieldWithLeadingZeroes,'0',' ')),' ','0')
Он заменяет нули пробелами слева триммеры он, а затем снова помещает нули. Я думал, что это очень умный и интересный способ сделать это, хотя и не настолько читабельным, если вы никогда раньше не сталкивались с этим.
Есть ли более четкие способы сделать это? Есть ли более эффективные способы сделать это? Или любые другие способы сделать этот период? Я был заинтригован этой проблемой и был бы заинтересован увидеть любые способы обойти ее.
умный, если поле никогда не содержит пробела, начинающегося с – John
@John - true. В этом случае это не так. Это поле идентификатора, которое может содержать буквы или цифры. – froadie
Хммммм Я надеялся получить больше ответов. Нет ли других способов сделать это? – froadie