Професионална програма
Loading...
+ Нов въпрос
YordanDringov avatar YordanDringov 26 Точки

12. Games From 2011 and 2012 Year

SELECT TOP (50) [Name],
		        CONVERT(date, [Start]) AS [Start]
	FROM Games
WHERE [Start] BETWEEN'20110101' AND '20121231'
ORDER BY [Start],[Name]

Имам проблем в Judge, със задачата от темата Built-In Functions.
Не мога да разбера какво бъркам, след като резултата в SSMS изглежда правилен при изпълнение на заявката.

Тагове:
0
Module: C# DB
alexander_lazarov avatar alexander_lazarov 8 Точки

Здравей, пробвай в частта с "Convert", в края да добавиш един от тези стилове, в този случай е 126, защото в задачата се иска формат " YYYY-MM-DD " : CONVERT(date, [Start],126) AS [Start]. Ето ги и другите стилове: http://www.w3schools.com/sql/func_convert.asp.

1
YordanDringov avatar YordanDringov 26 Точки

Judge не го харесва и така....

Ако имаш работещо решение би било интересно да го видя, за да сравня и да намеря къде ми е грешката.

0
alexander_lazarov avatar alexander_lazarov 8 Точки

Ето едно решение, не е мое, аз също се затрудних:

SELECT TOP (50) g.Name, CONVERT(char(10), g.Start,126) FROM Games AS g
    WHERE YEAR(g.Start)='2011' OR YEAR(g.Start)='2012'
ORDER BY g.Start, g.Name

0
Cemish avatar Cemish 18 Точки

Не мина при ме този код:).

0
vancho avatar vancho 430 Точки

А не може ли да му кажеш YEAR(2011) AND YEAR(2012) ? Защото по твоя начин ('20110101' AND '20121231') не е логически вярно.

0
23/01/2017 18:24:40
YordanDringov avatar YordanDringov 26 Точки

и това опитах :D ... 

0
vancho avatar vancho 430 Точки

Сори за предния пост, но не помня условието, но изрових решението в judge. 100 от 100 т.

SELECT name, SUBSTRING(start, 1, 10) FROM games

WHERE start BETWEEN 20110101 AND 20130101 

ORDER BY start LIMIT 50;

1
23/01/2017 18:32:25
YordanDringov avatar YordanDringov 26 Точки

не знам защо в Judge и това не минава... :D wrong syntax near LIMIT ? 

0
vancho avatar vancho 430 Точки

п.с. ..... кода е на MySQL и трябва да го преправиш за MSSQL !

2
Cemish avatar Cemish 18 Точки

Ако замениш BETWEEN с IN (2011,2012)?

0