Я только что натолкнулся на интересную проблему попытки обрезать начальные нули из нечислового поля в SQL. (Поскольку он может содержать символы, он не может быть просто преобразован в число, а затем обратно.)
Вот что мы в итоге использовали:
SELECT REPLACE(LTRIM(REPLACE(fieldWithLeadingZeroes,'0',' ')),' ','0')
Он заменяет нули пробелами, обрезает их слева, а затем возвращает нули обратно. Я подумал, что это очень умный и интересный способ сделать это, хотя и не настолько читаемый, если вы никогда не сталкивались с этим раньше.
Есть ли более ясные способы сделать это? Есть ли более эффективные способы сделать это? Или есть другие способы сделать этот период? Я был заинтригован этой проблемой, и мне было бы интересно узнать, как ее обойти.