Преобразовать число в строку

taliano
Дата: 22.09.2005 08:36:20
В SQL запросе сделать преобразование числовых данных в строковые.
В текстовом поле содержаться числовые данные с предстоящим нулем эти данные сопоставляются данным которые хранятся в числовом поле.

Использую STR но почему-то предстоящий нуль кудато исчезает:
Пример: SELECT STR(054) выдает ' 54';
Может кто знает как сабж
Latuk
Дата: 22.09.2005 08:58:58
Хочешь с нулями используй Format
Если T-SQL то заменяй предстоящие пробелы на 0 после преобразования
taliano
Дата: 22.09.2005 09:10:26
Latuk
Если T-SQL то заменяй предстоящие пробелы на 0 после преобразования


А как их заменить, какая для этого функция
Latuk
Дата: 22.09.2005 09:18:45
Transact-SQL Reference
STR ( float_expression [ , length [ , decimal ] ] )
REPLACE ( 'string_expression1' , 'string_expression2' , 'string_expression3' )

SELECT REPLACE(STR(3.14,5,1),' ','0')
Latuk
Дата: 22.09.2005 09:24:47
>эти данные сопоставляются данным которые хранятся в числовом поле
Тока сдается мне , что в твоем случае лучше наоборот
преобразовать строку в число

CAST ( expression AS data_type )

SELECT Cast('003.14' as money),Cast('0054' as int)
Allll
Дата: 22.09.2005 09:31:22
taliano
В текстовом поле содержаться числовые данные с предстоящим нулем эти данные сопоставляются данным которые хранятся в числовом поле.

А что такое "сопоставляются"? Сравнивается число из текстового поля и число из числового поля? А почему вы сравниваете их как две строки, а не как два числа, так было бы проще.

Если разрядность чисел одинаковая, то можно дополнить нолями так:
Right$("000" & "12",3)
taliano
Дата: 22.09.2005 10:18:21
Спасибо всем, выручили. Разрядность чисел не одинакова, но если использовать получение длины, то может подойти вариант предложенный Allll
Не подскажите где взять help по функциям T-SQL используемых в Access. А то функции MS SQL не всегда есть в MS Access.
Latuk
Дата: 22.09.2005 11:10:05
Если запрос выполняется на сервере MSSQL то используются функции T-SQL
о них можно почитать в BOL
Если запрос выполняется на клиенте через JET
то можно пользоватся любыми функциями VBA (в том числе собственноручно написанными)
Alt-F11,F1

Никакой особой связи между функцией T-SQL STR и функцией VBA STR нет
Одинаковое название может сослужить плохую службу
(например VBA-IsNull != T-SQL-ISNULL)
есть только кореляция проистекающаяя из схожего назначения этих функций.