T-SQL, Удалите пространство в строке

Мое понимание первоклассной конструкции программирования - то, что это означает, что можно сделать вещь , независимо от того, что это могло бы быть лучшим способом, возможным, не имея необходимость делать две или три других вещи или комбинировать два или три других понятия.

Так, Java не имеет первоклассной поддержки закрытия. Мы можем несколько фальсифицировать его однако путем создания класса (использующий другое понятие), который поддерживает почти весь материал, Вы используете закрытия для и затем создание экземпляров того класса ( другой понятие) или анонимно расширение того класса ( еще один понятие).

То же с 'функциями'. В Java у Вас не может быть функций, но у Вас могут быть статические методы, которые являются подобным, но все еще другим понятием.

Один (не меня) мог также утверждать, что поддержка дженериков Java не является первым классом, потому что это - взлом библиотеки и не находится на самом деле "на" языке. Это означает, что некоторые вещи, которые можно сделать в C# с дженериками, которые Вы не можете сделать в Java.

5
задан Peter Mortensen 1 December 2010 в 13:13
поделиться

4 ответа

Проверьте это следующим образом.

select unicode(substring('18 286.74', 3, 1))

Если код возвращает 32, то это пробел, если нет, это другой символ Unicode, и ваша замена "" не сработает.

12
ответ дан 13 December 2019 в 05:39
поделиться

Вы, вероятно, используете неразрывный пробел.

Я мог бы воспроизвести его, набрав ALT + 0160 в число в SELECT REPLACE ('18 286.74 ',' ',' ')

Не могли бы вы выдать следующее:

SELECT CAST('18 286.74' AS BINARY), REPLACE('18 286.74', ' ', '')

скопировав '18 286,74' из ЗАМЕНИТЬ в CAST ?

0
ответ дан 13 December 2019 в 05:39
поделиться

возможно, потребуется приведение.

UPD: или нет (на sql 2005 тоже работает нормально)

0
ответ дан 13 December 2019 в 05:39
поделиться

Вы уверены, что это пробел? то есть тот же символ пробела , который вы передаете в качестве второго аргумента? Код, который вы опубликовали, у меня отлично работает на SQL Server 2008.

Повторяю работу на компьютере вашего друга - возможно, пробелы нормализовались, когда вы отправили его ему?

0
ответ дан 13 December 2019 в 05:39
поделиться
Другие вопросы по тегам:

Похожие вопросы: