Удаление всего префикса указанного символа и постфикса - PullRequest
0 голосов
/ 12 января 2012

Я должен сравнить два char(4), которые отформатированы по-разному. Таким образом, я хотел бы, чтобы один формат, чтобы его можно было сравнить с другим. По сути, мне нужно удалить префиксные нули и завершающие пробелы, если они есть.

Например:

Символы:

'001 ' и '1' должны сравниваться с '1' после форматирования

'001A' и '1A' должны сравниваться с '1A' после форматирования

'010 ' и '10' должны сравниваться с '10' после форматирования

'010A' и '10A' должны сравниваться с '10A' после форматирования

'100 ' и '100' должны сравниваться с '100' после форматирования

'100A' следует сравнить с '100A' после форматирования

select Replace(Ltrim(Replace(Rtrim(@charToBeFormatted), '0', ' ')), ' ', '0')

, кажется, работает, но считает расточительным замену строк дважды, и это действительно не проясняет намерение.

Можно ли добиться результата более эффективным и / или изящным образом?

1 Ответ

1 голос
/ 12 января 2012

результат должен быть числом?чем вы можете сделать что-то вроде этого: выберите команду convert (int, '0010')

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...