Кажется, что SQL Server does not accept numbers formatted использует любой конкретный язык. Он также не поддерживает локальные сети, у которых есть цифры, отличные от 0-9.SQL Server: какой язык следует использовать для форматирования числовых значений в формате SQL Server?
Например, если текущая локаль бенгальская, то число выйдет в «1২3456789». И это всего лишь цифры, неважно, какова будет группировка цифр.
Но такая же проблема возникает для чисел в Инвариант locale, который форматирует числа как «123,456,789», которые SQL Server не принимает.
Существует ли культура, соответствующая тому, что принимает SQL Server для числовых значений? Или мне нужно создать какую-то обычную культуру «sql server», создав правила для этой культуры самим из подпрограмм более низкого уровня?
Если я был в .NET (который я не знаю), я мог бы ознакомиться с Standard Numeric Format strings. Из кодов форматирования, доступных в .NET:
- с (валюты): $ 123,46
- д (Десятичный): 1234
- е (экспоненциальный): 1.052033E + 003
- F (с фиксированной точкой) : 1234,57
- г (общее): 123,456
- н (номер): 1,234.57
- р (в процентах): 100.00%
- г (Round Trip): 12345678 9.12345678
- х (шестнадцатеричный): FF
только 6 принимают всех числовых типов:
- с (валютой): $ 123,46
-
д (Десятичный): 1234 - e (Продолжение): 1.052033E + 003
- f (неподвижная точка): 1234,57
- г (общее): 123,456
- н (номер): 1,234.57
- р (в процентах): 100.00%
-
г (Round Trip): 123456789.12345678 -
х (шестнадцатеричные): FF
И те только 2 генерируют строковые представления, в EN-US локали все равно, что будет принято SQL Server:
-
c (Currency): $ 123.46 -
д (Десятичный): 1234 -
е (экспоненциальный): 1.052033E + 003 - F (фиксированная точка): 1234,57
- г (общее): 123,456
-
н (номер): 1,234.57 -
р (в процентах): 100.00% -
г (Round Trip) : 123456789.12345678 -
х (шестнадцатеричный): ФФ
Из оставшихся двух, фиксируются зависит от цифр локали, а не количество используемого, в результате чего Общее г формата:
-
с (валюта): $ 123,46 -
д (Десятичный): 1234 -
е (экспоненциальный): 1.052033E + 003 -
F (фиксированная точка): 1234,57 - г (общее): 123,456
-
н (номер): 1,234.57 -
р (в процентах): 100.00% -
г (Round Trip): +123456789,12345678 -
х (шестнадцатеричный): ФФ
И я даже не могу с уверенностью сказать, что формат г не будет добавлять цифры группировки (например, +1234).
Есть ли язык, который форматирует числа так, как ожидает SQL Server? Есть ли код формата .NET? Код формата java? Код формата Delphi? Код формата VB? Код формата stdio?
латинские-цифра-цифры
Принято. +1 для цитирования (и смещения не менее!) Соответствующих частей. Я никогда не видел эту тему в своем 2000 BoL. –