Сопоставление канонических функций концептуальной модели функциям SQL Server
В этом разделе описано, как канонические функции концептуальной модели сопоставляются соответствующим функциям SQL Server.
Функции даты и времени
В следующей таблице описано сопоставление функций даты и времени.
Канонические функции | Функции SQL Server |
---|---|
DATEADD(day, number, date) |
|
DATEADD(hour, number, date) |
|
DATEADD(microsecond, number, date) |
|
DATEADD(millisecond, number, date) |
|
DATEADD(minute, number, date) |
|
DATEADD(month, number, date) |
|
DATEADD(nanosecond, number, date) |
|
DATEADD(second, number, date) |
|
DATEADD(year, number, date) |
|
В 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. |
На сервере создается форматированное значение time. Не поддерживается в SQL Server 2000 и SQL Server 2005. |
|
SysDateTime() в SQLServer 2008. GetDate() в SQLServer 2000 и SQLServer 2005. |
|
SysDateTimeOffset() в SQL Server 2008. Не поддерживается в SQL Server 2000 и SQL Server 2005. |
|
SysUtcDateTime() в SQLServer 2008. GetUtcDate() в SQL Server 2000 и SQL Server 2005. |
|
DatePart(dayofyear, expression) |
|
DatePart(day, expression) |
|
DATEDIFF(day, startdate, enddate) |
|
DATEDIFF(hour, startdate, enddate) |
|
DATEDIFF(microsecond, startdate, enddate) |
|
DATEDIFF(millisecond, startdate, enddate) |
|
DATEDIFF(minute, startdate, enddate) |
|
DATEDIFF(nanosecond, startdate, enddate) |
|
DATEDIFF(second, startdate, enddate) |
|
DATEDIFF(year, startdate, enddate) |
|
DatePart(tzoffset, expression) |
|
DatePart(hour, expression) |
|
DatePart(millisecond, expression) |
|
DatePart(minute, expression) |
|
DatePart(month, expression) |
|
DatePart(second, expression) |
|
В SQL Server 2000 и SQL Server 2005, на сервере создается усеченное форматированное значение datetime . В SQL Server 2008 и более поздних версиях на сервере создается усеченное значение datetime2 или datetimeoffset. |
|
DatePart(YEAR, expression) |
Агрегатные функции
В следующей таблице описано сопоставление агрегатных функций.
Канонические функции | Функции SQL Server |
---|---|
AVG(expression) |
|
BIGCOUNT(expression) |
|
COUNT(expression) |
|
MIN(expression) |
|
MAX(expression) |
|
STDEV(expression) |
|
STDEVP(expression) |
|
SUM(expression) |
|
VAR(expression) |
|
VARP(expression) |
Математические функции
В следующей таблице описано сопоставление математических функций.
Канонические функции | Функции SQL Server |
---|---|
ABS(value) |
|
CEILING(value) |
|
FLOOR(value) |
|
POWER(value, exponent) |
|
ROUND(value, digits, 0) |
|
ROUND(value , digits, 1) |
Строковые функции
В следующей таблице описано сопоставление строковых функций.
Канонические функции | Функции SQL Server |
---|---|
CHARINDEX(target, string) |
|
string1 + string2 |
|
CHARINDEX(REVERSE(target), REVERSE(string)) = 1 Примечание Функция CHARINDEX возвращает значение false если string хранится в строковом столбце с фиксированной длиной, а target является константой. В данном случае производится поиск по всей строке, включая конечные пробелы заполнения в строке. Данную проблему можно обойти, усекая данные из строки с фиксированной длиной перед передачей их функции |
|
CHARINDEX(target, string2) |
|
LEFT(string1, length) |
|
LEN(string) |
|
LTRIM(string) |
|
RIGHT (string1, length) |
|
LTRIM(RTRIM(string)) |
|
REPLACE(string1, string2, string3) |
|
REVERSE (string) |
|
RTRIM(string) |
|
CHARINDEX(target, string) |
|
SUBSTRING(string, start, length) |
|
LOWER(string) |
|
UPPER(string) |
Битовые функции
В следующей таблице описано сопоставление битовых функций.
Канонические функции | Функции SQL Server |
---|---|
value1 & value2 |
|
~value |
|
value1 | value2 |
|
value1 ^ value2 |