Заметка
Доступ к этой странице требует авторизации. Вы можете попробовать войти в систему или изменить каталог.
Доступ к этой странице требует авторизации. Вы можете попробовать сменить директорию.
В этом разделе описывается сопоставление канонических функций концептуальной модели с соответствующими функциями SQL Server.
Функции даты и времени
В следующей таблице описано сопоставление функций даты и времени:
| Канонические функции | Функции SQL Server |
|---|---|
| AddDays(expression) | DATEADD(day, number, date) |
| AddHours(expression) | DATEADD(hour, number, date) |
| AddMicroseconds(expression) | DATEADD(microsecond, number, date) |
| AddMilliseconds(expression) | DATEADD(millisecond, number, date) |
| AddMinutes(expression) - ДобавитьМинуты(выражение) | DATEADD(minute, number, date) |
| AddMonths(expression) | DATEADD(month, number, date) |
| AddNanoseconds(expression) | DATEADD(nanosecond, number, date) |
| AddSeconds(expression) | DATEADD(second, number, date) |
| AddYears(expression) | DATEADD(year, number, date) |
| CreateDateTime(year, month, day, hour, minute, second) | Для SQL Server 2000 и SQL Server 2005 на сервере создается отформатированное значение datetime. Для SQL Server 2008 и более поздних версий на сервере создается значение datetime2. |
| CreateDateTimeOffset(year, month, day, hour, minute, second, tzoffset) | На сервере создается значение в формате datetimeoffset.Не поддерживается в SQL Server 2000 или SQL Server 2005. |
| CreateTime(hour, minute, second) | На сервере создается значение в формате time.Не поддерживается в SQL Server 2000 или SQL Server 2005. |
| CurrentDateTime() |
SysDateTime() в SQL Server 2008.GetDate() в SQLServer 2000 и SQLServer 2005. |
| CurrentDateTimeOffset() |
SysDateTimeOffset() в SQL Server 2008.Не поддерживается в SQL Server 2000 или SQL Server 2005. |
| CurrentUtcDateTime() |
SysUtcDateTime() в SQL Server 2008.
GetUtcDate() в SQL Server 2000 и SQL Server 2005. |
| DayOfYear(expression) | DatePart(dayofyear, expression) |
| День(выражение) | DatePart(day, expression) |
| DiffDays(startExpression, endExpression) | DATEDIFF(day, startdate, enddate) |
| DiffHours(startExpression, endExpression) | DATEDIFF(hour, startdate, enddate) |
| DiffMicroseconds(startExpression, endExpression) | DATEDIFF(microsecond, startdate, enddate) |
| DiffMilliseconds(startExpression, endExpression) | DATEDIFF(millisecond, startdate, enddate) |
| DiffMinutes(startExpression, endExpression) | DATEDIFF(minute, startdate, enddate) |
| DiffNanoseconds(startExpression, endExpression) | DATEDIFF(nanosecond, startdate, enddate) |
| DiffSeconds(startExpression, endExpression) | DATEDIFF(second, startdate, enddate) |
| DiffYears(startExpression, endExpression) | DATEDIFF(year, startdate, enddate) |
| GetTotalOffsetMinutes(DateTimeOffset) | DatePart(tzoffset, expression) |
| Час(выражение) | DatePart(hour, expression) |
| Миллисекунда(выражение) | DatePart(millisecond, expression) |
| Minute(expression) | DatePart(minute, expression) |
| Month(expression) | DatePart(month, expression) |
| Second(expression) | DatePart(second, expression) |
| Усечение(выражение) | Для SQL Server 2000 и SQL Server 2005 на сервере создается усеченное форматированное datetime значение. Для SQL Server 2008 и более поздних версий на сервере создается обрезанное значение datetime2 или datetimeoffset. |
| Year(expression) | DatePart(YEAR, expression) |
Агрегатные функции
В следующей таблице описывается сопоставление агрегатных функций:
| Канонические функции | Функции SQL Server |
|---|---|
| Avg(expression) | AVG(expression) |
| BigCount(expression) | BIGCOUNT(expression) |
| Count(expression) | COUNT(expression) |
| Min(expression) | MIN(expression) |
| Max(expression) | MAX(expression) |
| StDev(expression) | STDEV(expression) |
| StDevP(expression) | STDEVP(expression) |
| Sum(expression) | SUM(expression) |
| Var(expression) | VAR(expression) |
| VarP(expression) | VARP(expression) |
Математические функции
В следующей таблице описывается сопоставление математических функций:
| Канонические функции | Функции SQL Server |
|---|---|
| Abs(value) | ABS(value) |
| Потолок(значение) | CEILING(value) |
| Floor(value) | FLOOR(value) |
| Power(value) | POWER(value, exponent) |
| Round(value) | ROUND(value, digits, 0) |
| Усечение | ROUND(value , digits, 1) |
Строковые функции
В следующей таблице описывается сопоставление строковых функций:
| Канонические функции | Функции SQL Server |
|---|---|
| Contains(string, target) | CHARINDEX(target, string) |
| Concat(string1, string2) | строка1 + строка2 |
| EndsWith(string, target) | CHARINDEX(REVERSE(target), REVERSE(string)) = 1Заметка Функция CHARINDEX возвращается false , если string он хранится в столбце строки фиксированной длины и target является константой. В этом случае выполняется поиск всей строки, включая любые добавленные пробелы в конце. Возможное решение заключается в том, чтобы обрезать данные в строке фиксированной длины перед передачей строки в EndsWith функцию, как показано в следующем примере: EndsWith(TRIM(string), target) |
| IndexOf(target, string2) | CHARINDEX(target, string2) |
| Слева (строка1, длина) | LEFT(string1, length) |
| Длина (строка) | LEN(string) |
| LTrim(string) | LTRIM(string) |
| Справа (строка1, длина) | RIGHT (string1, length) |
| Trim(string) | LTRIM(RTRIM(string)) |
| Replace (string1, string2, string3) | REPLACE(string1, string2, string3) |
| Обратный (строка) | REVERSE (string) |
| RTrim(string) | RTRIM(string) |
| StartsWith(string, target) | CHARINDEX(target, string) |
| Подстрока(string, start, length) | SUBSTRING(string, start, length) |
| ToLower(string) | LOWER(string) |
| ToUpper(string) | UPPER(string) |
Побитовые функции
В следующей таблице описано сопоставление побитовых функций:
| Канонические функции | Функции SQL Server |
|---|---|
| BitWiseAnd (value1, value2) | value1 и value2 |
| BitWiseNot (значение) | ~ценность |
| BitWiseOr (value1, value2) | значение1 | значение2 |
| BitWiseXor (value1, value2) | value1 ^ value2 |