Софтуерно Инженерство
Loading...
dimityr.jechev avatar dimityr.jechev 204 Точки

Проблем 3 от изпита през Март месец по DataBase

Добре,някой би ли ми казал къде ми е грешката,защото незнам какво ли не пробвах и ми дава 0 точки,дори и с авторското решение...

Това ми е кода:
SELECT CountryName, CountryCode,(CASE CurrencyCode WHEN 'EUR' THEN 'Euro'
ELSE 'Not Euro' END) AS Currency FROM Countries
ORDER BY CountryName

Ето снимка и от judge...

http://s8.postimg.org/c859639yt/111.jpg

0
Databases Basics
Kamigawa avatar Kamigawa 750 Точки

От Collation-a на базати ти е грешката. Aland трябва да е Åland.

Аз ги реших като в скрипта на базата реда под CREATE DATABASE сложих
COLLATE Latin1_General_100_CS_AS_SC;

2
07/07/2015 16:44:31
dimityr.jechev avatar dimityr.jechev 204 Точки

Нещо пак съм изпуснал от лекциите,за този collation.От къде се наглася и какъв трябва да бъде по default,че да не остана без лаптоп неделя ?

0
Kamigawa avatar Kamigawa 750 Точки

При инсталацията на sql server-a се избира дефоутен за всички бази и като се пусне скрипт за създаване на база ако в него не е казано какво да ползва си ползва дефоутния. При мен е на кирилица, което явно е било грешка да го слагам, но по начина описан в по-горния ми пост работи коректно.

0
dimityr.jechev avatar dimityr.jechev 204 Точки

Cyrillic_General_CI_AS ето този ми показва,че е на базата.

Не е само Åland, защото го копирах и не става.

0
07/07/2015 16:52:34
Kamigawa avatar Kamigawa 750 Точки

Да, това е "проблема", просто символите, които искаш да вложиш в него ги няма и той импровизира като слага други. Резултата е реботеща заявка с 0 точки ;)

Ами то не е само едно име с такива символи, много са.

Ръчно го смени колишъна от скрипта на базата преди да я пуснеш да се прави.

0
07/07/2015 16:53:44
dimityr.jechev avatar dimityr.jechev 204 Точки

А кой collation да задаваме като създаваме database за да нямаме проблеми ?

0
Kamigawa avatar Kamigawa 750 Точки

Аз реших тоя изпит с Latin1_General_100_CS_AS_SC, Рояла в друга тема пише за SQL_Latin1_General_CP1_CI_AS . Като цяло си нямам и на идея кой е "правилния"

1
Kamigawa avatar Kamigawa 750 Точки

Като си вкараш данните в базата ако ползваш такъв енкрипвън (collation), който не поддържа определени символи - те влизат в базата както могат. После като пуснеш заявката ти излиза резултат, копираш го в джъджа и той сравнява дали това, което си дал като резултат отговаря на това, което автора на изпита е задал като резултат. Проверката се прави на база на символи, казано по друг начин за джъдж Aland и Åland са две различни неща. Ти подаваш в базата ти Åland, тя няма това Å и слага A - ето го проблема.

1
simeon.georgiev avatar simeon.georgiev 62 Точки

Съжалявам, че питам в чужда тема, но така и не разбрах- какво значение имат тия collation-и, след като аз си пиша решенията в черния редактор в judge-a и пак 0 секунди, 0 точки?

0