Мне нужно хранить числовое значение в таблице SQL в виде строки (из-за некоторых идентификаторов, содержащих нечисловые символы), но у меня возникают проблемы с достижением этого без его сохранения в научной нотации, что не будет проблемой если бы я мог настроить это в представлении, но при этом он теряет последние несколько цифр.
Я пытался (как и в случае с запросом) привести его к bigint
, а затем к nvarchar
в операторе INSERT INTO
, но это не влияет на то, как оно сохраняется.
Вот чего я пытаюсь достичь:
CREATE TABLE [dbo].[customer_comp](
[customer_ref] [nvarchar](50) NULL,
[customer_name] [nvarchar](255) NULL
) ON [PRIMARY]
INSERT INTO [customer_comp]
(customer_ref, customer_name)
VALUES
('199000243', 'John Smith'),
('CR-222-3X0D', 'Jane Smith');
Ожидаемые результаты:
+--------------+---------------+
| customer_ref | customer_name |
+--------------+---------------+
| 199000243 | John Smith |
| CR-222-3X0D | Jane Smith |
+--------------+---------------+
Результаты, которые я продолжаю получать:
+--------------+---------------+
| customer_ref | customer_name |
+--------------+---------------+
| 1.9900e+003 | John Smith |
| CR-222-3X0D | Jane Smith |
+--------------+---------------+
В случае, если я поступаю об этом совершенно неверным образом, я сохраняю его таким образом, поскольку некоторые значения хранятся в буквенно-цифровом формате, например «AAA-NNNA-NNAA», а некоторые значения все числовой 'NNNNNNNN', поэтому требуется, чтобы столбец принял nvarchar.