Общие > Базы данных

аналог x ? x : y в SQL а также русские буквы и LIKE в MS SQL

(1/2) > >>

Xander:
Возникла нужда в такой фунции как
id1 ? id1 : id2
или id1 or id2, т.е:
если id1!=0 возвращаем id1, иначе возвращаем id2. Подскажите, как такое сделать используя стандартные средства SQL (или специфичные для Transact-SQL, что в MS SQL)?.

И еще: при переходе с Access на MS SQL LIKE перестал искать без учета регистра. Никто не сталкивался с таким?

ThE0ReTiC:
Э... А почему нельза сделать UDF\'ку с запросом?
Конструкции типа IF...THEN T-SQL поддерживает (http://www.sql.ru)

Xander:
А можно линк на статью про UDF и прочий продвинутый SQL?
А то я в этом ни фига не понимаю еще...

ThE0ReTiC:
так это...
http://www.sql.ru ;)
yandex rules :beer:
http://www.interface.ru/faq/microsoft/sqlserver_faq1_1.htm
http://www.citforum.ru/database/articles/sqlservqa.shtml

Xander:
Ну вот сделал я такую хрень. Она конечно же не работает:
CREATE FUNCTION func ()
RETURNS @ExampleTable TABLE
(city_id int,
 city_name varchar(50),
 city_masterid int,
 city_mid int
)
AS
BEGIN
INSERT @ExampleTable VALUES (city_id,city_name,city_masterid)
SELECT * FROM shops_dictCities
IF city_masterid=0
   INSERT @ExampleTable VALUES (city_mid) city_id
ELSE
   INSERT @ExampleTable VALUES (city_mid) city_masterid
RETURN
END
GO

SELECT * FROM dbo.func()

Как сделать в IF правильное условие, добраться до нужного значения?

Навигация

[0] Главная страница сообщений

[#] Следующая страница

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 
Перейти к полной версии