[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: bigint из MSSQL в PHP
Алексей
Здравствуйте, столкнулся с проблемой, не могу решить, натолкните на мысль.
Задача: В базе MSSQL есть поле bigint, где храниться 10-е число. Необходимо достать из базы это число и разложить на биты. Раскладывать 32-битные значение получается хорошо, а вот bigint 64-битовый и тут и возникает основная проблема, происходит переполнение. Пробовал и классикой (деление на 2) и побитовыми операциями и php-шной функцией decbin().
Спасибо.




Спустя 13 часов, 55 минут, 54 секунды (21.09.2009 - 07:53) glock18 написал(а):
привет,
1. если число приходит в php обрезанное - ищем пути разбить число на стороне sql сервера.

2. если число приходит нормальное, а при конвертации в число теряет половину знаков. Попробуй разбить строку на две по 11 знаков, и работать с ними по отдельности.

Возможно так же будет нужно заставить mssql отправлять число в виде строки. для это примени какую-нибудь строковую функцию на нем при выборке (конкатенация с пустой строкой или еще чего в этом духе)

Спустя 52 минуты, 26 секунд (21.09.2009 - 08:45) sergeiss написал(а):
Цитата (glock18 @ 21.09.2009 - 08:53)
для это примени какую-нибудь строковую функцию на нем при выборке (конкатенация с пустой строкой или еще чего в этом духе)

А это зачем? blink.gif

Не проще ли использовать CAST или CONVERT для преобразования типа???

Спустя 56 минут, 14 секунд (21.09.2009 - 09:41) glock18 написал(а):
Цитата
Не проще ли использовать CAST или CONVERT для преобразования типа???


да, их и нужно. я исхожу из того, что не знаю есть ли это в **sql обозначенном выше. ТС сам поймет что нужно, я думаю.

Спустя 28 минут, 25 секунд (21.09.2009 - 10:10) sergeiss написал(а):
Если я не ошибаюсь, CAST входит в "базовый" набор и должен поддерживаться в любом нормальном xxxSQL.

Цитата (glock18 @ 21.09.2009 - 10:41)
ТС сам поймет что нужно, я думаю.

А вот это не факт, если не указать в явном виде.

Спустя 8 часов, 53 минуты, 5 секунд (21.09.2009 - 19:03) Алексей написал(а):
Спасибо за советы, буду пробовать
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.