CREATE TABLE CosineTable
(
Angle int(2),
CosValue decimal(5, 4)
);
INSERT INTO CosineTable (Angle, CosValue) VALUES
(0,1),
(5,0.9962),
(10,0.9848),
(15,0.9659),
(20,0.9397),
(25,0.9063),
(30,0.866),
(35,0.8192),
(40,0.766),
(45,0.7071),
(50,0.6428),
(55,0.5736),
(60,0.5),
(65,0.4226),
(70,0.342),
(75,0.2588),
(80,0.1736),
(85,0.0872),
(90,0);
-- SELECT angle FROM CosineTable WHERE (cosvalue = max(angle < 73));
SELECT CosValue FROM CosineTable WHERE (angle = (SELECT max(angle) FROM CosineTable WHERE Angle < 73));
SELECT CosValue FROM CosineTable WHERE (angle = (SELECT min(angle) FROM CosineTable WHERE Angle > 73));
SELECT max(Angle) FROM CosineTable WHERE Angle < 73;
SELECT min(Angle) FROM CosineTable WHERE Angle > 73;
SELECT
(
(
SELECT CosValue FROM CosineTable WHERE (angle = (SELECT max(angle) FROM CosineTable WHERE Angle < 73))
)
+
(
(
SELECT CosValue FROM CosineTable WHERE (angle = (SELECT min(angle) FROM CosineTable WHERE Angle > 73))
)
-
(
SELECT CosValue FROM CosineTable WHERE (angle = (SELECT max(angle) FROM CosineTable WHERE Angle < 73))
)
)
*
(
73
-
(
SELECT max(Angle) FROM CosineTable WHERE Angle < 73
)
)
/
(
(
SELECT min(Angle) FROM CosineTable WHERE Angle > 73
)
-
(
SELECT max(Angle) FROM CosineTable WHERE Angle < 73
)
)
);
Q1JFQVRFIFRBQkxFIENvc2luZVRhYmxlCigKQW5nbGUgaW50KDIpLApDb3NWYWx1ZSBkZWNpbWFsKDUsIDQpCik7CgpJTlNFUlQgSU5UTyBDb3NpbmVUYWJsZSAoQW5nbGUsIENvc1ZhbHVlKSBWQUxVRVMgCigwLDEpLAooNSwwLjk5NjIpLAooMTAsMC45ODQ4KSwKKDE1LDAuOTY1OSksCigyMCwwLjkzOTcpLAooMjUsMC45MDYzKSwKKDMwLDAuODY2KSwgCQooMzUsMC44MTkyKSwKKDQwLDAuNzY2KSwKKDQ1LDAuNzA3MSksCig1MCwwLjY0MjgpLAooNTUsMC41NzM2KSwKKDYwLDAuNSksCig2NSwwLjQyMjYpLAooNzAsMC4zNDIpLAooNzUsMC4yNTg4KSwKKDgwLDAuMTczNiksCig4NSwwLjA4NzIpLAooOTAsMCk7CgotLSBTRUxFQ1QgYW5nbGUgRlJPTSBDb3NpbmVUYWJsZSBXSEVSRSAoY29zdmFsdWUgPSBtYXgoYW5nbGUgPCA3MykpOwpTRUxFQ1QgQ29zVmFsdWUgRlJPTSBDb3NpbmVUYWJsZSBXSEVSRSAoYW5nbGUgPSAoU0VMRUNUIG1heChhbmdsZSkgRlJPTSBDb3NpbmVUYWJsZSBXSEVSRSBBbmdsZSA8IDczKSk7ClNFTEVDVCBDb3NWYWx1ZSBGUk9NIENvc2luZVRhYmxlIFdIRVJFIChhbmdsZSA9IChTRUxFQ1QgbWluKGFuZ2xlKSBGUk9NIENvc2luZVRhYmxlIFdIRVJFIEFuZ2xlID4gNzMpKTsKU0VMRUNUIG1heChBbmdsZSkgRlJPTSBDb3NpbmVUYWJsZSBXSEVSRSBBbmdsZSA8IDczOwpTRUxFQ1QgbWluKEFuZ2xlKSBGUk9NIENvc2luZVRhYmxlIFdIRVJFIEFuZ2xlID4gNzM7CgoKU0VMRUNUCigKCSgKCQlTRUxFQ1QgQ29zVmFsdWUgRlJPTSBDb3NpbmVUYWJsZSBXSEVSRSAoYW5nbGUgPSAoU0VMRUNUIG1heChhbmdsZSkgRlJPTSBDb3NpbmVUYWJsZSBXSEVSRSBBbmdsZSA8IDczKSkKCSkgCgkJKwoJKAoJCSgKCQkJU0VMRUNUIENvc1ZhbHVlIEZST00gQ29zaW5lVGFibGUgV0hFUkUgKGFuZ2xlID0gKFNFTEVDVCBtaW4oYW5nbGUpIEZST00gQ29zaW5lVGFibGUgV0hFUkUgQW5nbGUgPiA3MykpCgkJKSAKCQkJLQoJCSgKCQkJU0VMRUNUIENvc1ZhbHVlIEZST00gQ29zaW5lVGFibGUgV0hFUkUgKGFuZ2xlID0gKFNFTEVDVCBtYXgoYW5nbGUpIEZST00gQ29zaW5lVGFibGUgV0hFUkUgQW5nbGUgPCA3MykpCQoJCSkKCSkKCQkqCgkoCgkJNzMgCgkJCS0KCQkoCgkJCVNFTEVDVCBtYXgoQW5nbGUpIEZST00gQ29zaW5lVGFibGUgV0hFUkUgQW5nbGUgPCA3MwoJCSkKCSkgCgkJLyAKCSgKCQkoCgkJCVNFTEVDVCBtaW4oQW5nbGUpIEZST00gQ29zaW5lVGFibGUgV0hFUkUgQW5nbGUgPiA3MwoJCSkgCgkJCS0KCQkoCgkJCVNFTEVDVCBtYXgoQW5nbGUpIEZST00gQ29zaW5lVGFibGUgV0hFUkUgQW5nbGUgPCA3MwoJCSkKCSkKKTsK