Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Преобразование текста в число! / 9 сообщений из 9, страница 1 из 1
11.04.2002, 05:42
    #32027530
Pavlik
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Преобразование текста в число!
Народ! Может кто сталкивался с такой проблемой:
надо преобразовать текст типа 'ABC.234' в число.
Т.е. превратить переменную nvarchar в int, а то у меня DistinctCount ни фига не работает!
На любом языке. что-то ничего в голову не приходит простого и быстрого...
...
Рейтинг: 0 / 0
11.04.2002, 05:44
    #32027531
Pavlik
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Преобразование текста в число!
Уточню - буду делать это при закачке в таблицы, налету.
Никак не могу придумать принцип, по которому это делать :-\
...
Рейтинг: 0 / 0
11.04.2002, 06:34
    #32027540
GreenSunrise
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Преобразование текста в число!
CAST, CONVERT
...
Рейтинг: 0 / 0
11.04.2002, 07:57
    #32027555
Pavlik
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Преобразование текста в число!
Это я конечно же пробовал.
CAST ('ABC' as integer) выдает ошибку, что не может сконвертировать...
пробовал и другие варианты и CONVERT тоже - результат тот же...
Модет я че не так делаю?
...
Рейтинг: 0 / 0
11.04.2002, 08:16
    #32027559
Glory
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Преобразование текста в число!
А в какое число по вашему должна преобразоваться строка 'ABC' ? В 123, в 101112, в ... ?
CAST и CONVERT преобразуют только числа, записанные в символьном формате, а не вообще все символы.

Если вам нужен ASCII код символа, то есть функция

ASCII ( character_expression ) - Returns the ASCII code value of the leftmost character of a character expression.
...
Рейтинг: 0 / 0
11.04.2002, 08:24
    #32027561
ВладимирМ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Преобразование текста в число!
Если известна точная позиция, начиная с которой будут числа, то

select CONVERT(Int, SubString('ABC.234',5,10))
...
Рейтинг: 0 / 0
11.04.2002, 08:26
    #32027562
Pavlik
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Преобразование текста в число!
Вы наверное невнимательно прочитали что мне нужно сделать.
Мне не нужно из 'ABC.123' вырезать 123 как число. Мне нужно преобразовать все это выражение в число по какому-нибудь алгоритму. Если кто уже делал подобное - поделитесь. А функции SQL я и сам знаю как работают.
...
Рейтинг: 0 / 0
11.04.2002, 09:02
    #32027568
Glory
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Преобразование текста в число!
Подойдет ?

declare @x varchar(10)
set @x = 'ABC.123'
select @x, cast(cast(@x as varbinary) as int)

ЗЫ
Только "поиграйтесь" со строками разной длины на предмет переполнения значений для varbinary и int
...
Рейтинг: 0 / 0
11.04.2002, 09:59
    #32027578
Pavlik
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Преобразование текста в число!
Ага, спасиб, мы тока что пришли к такому же решению

Не в 100% случаях значение получается уникальным, к сожалению, но в общем наверное подходит.
Если исползовать bigint - то в 100%. Но bigint в два раза больше... жалко

Мы поищем еще...
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Преобразование текста в число! / 9 сообщений из 9, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]