MurCode
Форумы
Поиск
О проекте
Microsoft SQL Server
Новое сообщение
звездочка как результат конвертации
гест_20100215
Дата: 16.02.2010 00:15:10
Я не нашел тут ответа на этот вопрос, так что если это боян то прошу прощения.
select CAST(12345 as CHAR(4))
go
select CAST(12345 as NCHAR(4))
что означает этот код (0x2A), который изображается звездочкой в первом случае?
на любом collation всегда возвращается звезда, т.е. это не id кодовой страницы.
второй вариант на мой взгляд вполне предсказуемо себя ведет.
Glory
Дата: 16.02.2010 00:19:52
А вы подумайте над тем, как в 4 байта уместить 5 цифр.
гест_20100215
Дата: 16.02.2010 00:27:49
Я подумал и у меня точно не получается звездочки
Тот пример был несколько неудачный -
select CAST(12345 as CHAR(4))
go
select CAST(12345 as NCHAR(2))
чем они отличаются по размеру?
гест_20100215
Дата: 16.02.2010 00:48:35
нашел в BOL, - это оказывается обыкновенный хардкод магического числа
непонятно почему для уникода не используется оно..забыли в case/if чтоли включить его
SIMPLicity_
Дата: 16.02.2010 01:14:39
гест_20100215
нашел в BOL, - это оказывается обыкновенный хардкод магического числа
непонятно почему для уникода не используется оно..забыли в case/if чтоли включить его
???
Куякс...
Если можно, пожалуйста, выложите ссылку на цитату...
гест_20100215
Дата: 16.02.2010 01:29:45
SQL Server вставляет символ с кодом ASCII 42 — звездочку (*)
SIMPLicity_
Дата: 16.02.2010 01:53:40
Чесссна говоря, нифига не понял...
Зачем огород-то городить и всякое-недокументированное использовать, если можно, например, накатать:
select
char
(
42
),
char
(0x2A),
'*'
select
nchar
(
42
),
nchar
(0x2A), N
'*'
... на выбор...
No ROM Basic...
iap
Дата: 16.02.2010 09:24:20
гест_20100215
SQL Server вставляет символ с кодом ASCII 42 — звездочку (*)
А где там про "звездочку (*)"? Сюда цитату выложить можете?
гест_20100215
Дата: 16.02.2010 10:04:23
2
SIMPLicity_
Дык понятно, что звездочка и в UTF-16 будет звездочкой , ибо UTF-16 ничем не отличается от ASCII для символов с малыми кодами.
Я потому и задал вопрос, - что за дикий и непонятный велосипед тянется уже как минимум с 2000
2
iap
Используйте название линка, ну или хотя бы цифры "42" в качестве паттерна по поиску на странице.
гест_20100215
Дата: 16.02.2010 10:05:52
автор
Преобразование данных типа integer
При неявном преобразовании данных типа integer в данные типа character, если число слишком большое для символьного поля, SQL Server вставляет символ с кодом ASCII 42 — звездочку (*).
Назад
1
2
Вперед