Z dokumentacji technet ( http://msdn.microsoft.com/en-us/library/bb630290(v=sql.105).aspx )
|
Dzisiaj coś mniej praktycznego, ale za to ciekawie wyglądającego 🙂
SQL Server, prócz oczywiście komunikacji DO niego i Z niego przy pomocy sterownika ODBC, posiada wkompilowaną obsługę funkcji skalarnych. (zwracających skalary – czyli jedną wartość) dostępnych w ODBC (Open DataBase Connectivity). ODBC jest standardem dostępu do danych wymyślonym na potrzeby wielu różnych platform systemowych i aplikacyjnych chcących korzystać z przeróżnych systemów baz danych w ten sam sposób,
Lista wszystkich funkcji dostępna jest tutaj: http://msdn.microsoft.com/pl-pl/library/ms711813.aspx
Nas może zaciekawić sposób wyciągania informacji przy pomocy tych funkcji. Nie mam informacji na ile są one wydajne, znaczna cześć ich funkcjonalności jest zaimplementowana natywnie w silnik SQL i tych zalecam używać, oczywiście można korzystac z ODBC ale radziłbym tam gdzie nie ma dużo danych danych lub tylko w celach szpanu i zaskakiwania, ze istnieje taka forma odpytania o dane 😀
Przeklejam przyklad uzycia z dokumentacji SQL:
DECLARE @string_exp nvarchar(4000) = 'Returns the length.'; SELECT {fn BIT_LENGTH( @string_exp )}; -- Returns 304 SELECT {fn OCTET_LENGTH( @string_exp )}; -- Returns 38 SELECT {fn CONCAT( 'CONCAT ','returns a character string')}; -- Returns CONCAT returns a character string SELECT {fn TRUNCATE( 100.123456, 4)}; -- Returns 100.123400 SELECT {fn CURRENT_DATE( )}; -- Returns 2007-04-20 SELECT {fn CURRENT_TIME(6)}; -- Returns 10:27:11.973000 DECLARE @date_exp nvarchar(30) = '2007-04-21 01:01:01.1234567'; SELECT {fn DAYNAME( @date_exp )}; -- Returns Saturday SELECT {fn DAYOFMONTH( @date_exp )}; -- Returns 21 SELECT {fn DAYOFWEEK( @date_exp )}; -- Returns 7 SELECT {fn HOUR( @date_exp)}; -- Returns 1 SELECT {fn MINUTE( @date_exp )}; -- Returns 1 SELECT {fn MONTHNAME( @date_exp )}; -- Returns April SELECT {fn QUARTER( @date_exp )}; -- Returns 2 SELECT {fn WEEK( @date_exp )}; -- Returns 16