Aug 18, 2011 11:09
Вот что меня особо прикалывает в T-SQL (конкретно - в реализации MS-SQL) - так это то, что, наряду с достаточно типичным для функциональных языков синтаксисом, в нем живет своя самобытная система синтаксических конструкций (которую бы я назвал "мнемонической").
И в большинстве случаев - живут параллельно. Причем, на сколько я вижу ситуацию, все это абсолютно не стремится умирать.
За примерами далеко ходить не надо.
1) попроще: cast и convert. Наряду с классическим функциональным convert(тип, выражение[, стиль]) есть мнемоническое cast(выражение as тип).
2) позаковырестее:
вместо мнемонической конструкции вида
SELECT
Table.Field1 as TF1,
Table.Field2 as TF2
FROM
Tableс успехом можно использовать функциональную конструкцию вида
SELECT
TF1 = Table.Field1,
TF2 = Table.Field2
FROM
Table
Причем, мелкософт не только не стремится выпилить мнемоническую запись, но и, фактически, культивирует ее (например, позволяя опускать ключевое слово as в селект-листах и объявлении псевдонимов таблиц/выборок). Да и, каюсь, я сам использую cast(), там где не требуется стилизация преобразования строки в дату или даты в строку.
Если Мелкософт ВНЕЗАПНО решит отказаться от мнемонических конструкций - вони будет много, но по факту - через пол года недовольных останется единицы.
Ан нет - не хотят.
Программизмы