SQL exercises
Language 
July 22, 08:29 MSK
Login:

Password:

forgot password?
Registration

Personal page
Developers & Thanks
For employers
References
Feedback
Support SQL-EX.RU





SQL Exercises news letters, latest issue

§
As the important news can appear and between releases of news letters, I shall use this page for the publication of the information on all changes on the site.
The forum is not so suitable for this purpose since the message there "escapes" and can appear on previous page before it will lose a urgency.
So look in here if you wish to be well informed about last events on the site. The link to this page is in section of news at the main page below a subscription banner.
§

§
Exercises under SQL Server is now checking on 2017 version.
§
The nearest birthdays. Do not forget to congratulate!
Sergey Gulyaev (sergey.g) - 22, July
Stanislav Poltoranin (Stas911) - 23, July
Mikhail Kumachev (Ceridan) - 24, July
Victor Doshchenko (mcrain) - 24, July
Станислав Евтисов (Minimal) - 25, July
Vitaliy Ovsyankin (Kazaam) - 25, July
Nickolay Tsarevsky (Nick-Tsa) - 26, July
Andrey Ivanov (Goapsy) - 26, July
Denis Larionov (Irv) - 28, July
Sergey V. Klimentov (Эс-Кью-Эль) - 30, July
Uladzislau Niakhaichyk (ev1L) - 30, July

§
Last certified:
Pavel Gapanovich (drestar1) - 16, July
Artem Grebla (A1412) - 10, July
NIKOLAY KAVKAYKIN (nikolay2106) - 22, June
ANDREY BAYKOV (Andrew89) - 17, June
Sergey Zhulanov (borey.mdb) - 12, June
ALEKSEI PANFILOV (alexey.p4nfilov) - 8, June
Artem Selezen (Artny) - 5, June
Aleksandr Balbekov (NtFire) - 15, May
Maksim Neboronov (maksoooun) - 11, May
Ekaterina Vasilevskaya (kattiks) - 10, May



In total: 826

Let's learn SQL

POWER and SQRT functions

S.I.Moiseenko

The SQL Server POWER (x, y) function raises x to the power of y.
x is an expression of type FLOAT or of a type that can be implicitly converted to FLOAT.
y is an expression of a numeric type.

The returned result has the same type as x.

The returned result is of FLOAT type.

SQRT is the inverse function of POWER(x, 2), so that SQRT(POWER(x,2)) should return x.

Let’s check this

select 3 x, power(3,2) y, sqrt(power(3,2)) sqrt_y;

x	y	sqrt_y
3	9	3

This is correct. However,

select 3.1 x, power(3.1,2) y, sqrt(power(3.1,2)) sqrt_y;

yields

x	y	sqrt_y
3.1	9.6	3,09838667696593

This unexpected result in most likelihood has to do with a loss of precision when the POWER function result type (which matches the type of the argument, NUMERIC) is implicitly converted to FLOAT.

Indeed,

select SQL_VARIANT_PROPERTY(3.1,'BASETYPE') basetype;

basetype
numeric

When we apply an equivalent conversion to retain the NUMERIC type for the result

select 3.1 x, power(3.1,2) y, power(power(3.1,2),0.5) sqrt_y;

everything works as expected.

x	y	sqrt_y
3.1	9.6	3.1

Read more...

Useful links

§ Official communities of the site sql-ex in social networks: SQL Exercises at VK.com and SQL Exercises at LinkedIn.com

§     The resource is positioned as a "handbook" for this site SQL-EX.COM, but can be used irrespective of it also.

§ The following DBMS are used on the site for solving exercises: SQL Server 2017 Express, Oracle Database 11g Express Edition, MariaDB-10.2.13 (compatible with MySQL 8), PostgreSQL 10.3.

§ If you like this site, vote for us:
del.icio.us
dzone.com
Digg.com
stumbleupon.com



Home
Week news
Profile
References
Rambler's Top100
Copyright SQL-EX © 2002-2019. All rights reserved.
contact