Jūs esateSQL
SQL
Microsoft SQL Server, MySQL ir t.t.
MySQL table names are case sensitive in Linux
At the moment I'm writing a small program for my master's theses. And I found one very interesting thing.
I have a table in my MySQL server called "Books" (with uppercase). And I have query: "SELECT title FROM books" (lowercase).
And my server says: can not found table "books" :) So, I renamed by table to "books" :)
64 bit MySQL C++ Connector, 64 bit MySQL Server and 64 bit Windows 7 are not compatable?
This evening I tried to connect to MySQL server from my C++ application. So, some notes about this task:
SQL. Case sensitive search in MySQL database
As stated here nonbinary string comparisons are case insensitive by default.
MySQL C++ Connector & my MySQL server
Today I've tried to install MySQL C++ Connector for Windows (http://www.mysql.com/downloads/connector/cpp/ also check this website: http://forge.mysql.com/wiki/Connector_C%2B%2B and this one: http://dev.mysql.com/tech-resources/articles/mysql-connector-cpp.html).
Ok, but lets get back to my experience with MySQL C++ Connector. The problem is that I couldn't make it work on Windows.
Howto. Execute MS SQL Stored Procedure With C#
At the moment I'm coding a small project for my university. I have to create a simple system on C# and Microsoft SQL Server 2005. So, I need a way (and code) to execute MS SQL Server's Stored Procedures from my C# program.
MSSQL. Įrašo gavimas, kurio data yra artimiausia šios dienos datai
Turime duomenis:
Petras 2008.01.02
Juozapas 2009.01.05
Antanas 2001.12.01
SELECT TOP 1 Data FROM Lentelė ORDER BY ABS(DATEDIFF(DAY,GetDate(),Data)), Data
Šis gėris išrinks Juozapą.
Arba galima patobulinti - pridėti WHERE sąlygą, kad Data > GetDate()
Čia MSSQL versija :)
http://bytes.com/forum/thread79502.html
SQL. Datos apkarpymas
Turime SQL'e įrašę datą 2008.09.11 15:42:25. Mums reikia, kad iš SQL išvestų tik 2008.09.11. Kaip tai padaryti?
Pataisome SQLinę užklausą:
SELECT CONVERT(varchar, BlogaData, 102) AS GeraData FROM Lentelė
Kita vertus, gali prireikti į SQL'ą įrašyti 2008.09.11, vietoje 2008.09.11 15:42:25. Kaip tai padaryti?
INSERT INTO MūsųLentelė (BaisiData) VALUES CONVERT(datetime, floor(CONVERT(float, @Data)))
Antrąjį radau www.sql.ru svetainėje :)
phpMyAdmin klaida ant MySQL
Sukėliau phpMyAdmin'ą, sukūriau konfiguraciją, pabandžiau paleisti šį daikčiuką ir gavau bjaurią klaidą:
#1045 - Access denied for user 'root'@'localhost' (using password: NO)
Pakapsčiau internete ir išsprendžiau problemą - konfiguracijoje šio to trūko.
<?php
/*
* Generated configuration file
* Generated by: phpMyAdmin 2.11.8.1 setup script by Michal Čihař <michal@cihar.com>
* Version: $Id: setup.php 11423 2008-07-24 17:26:05Z lem9 $
* Date: Fri, 15 Aug 2008 09:37:15 GMT
*/
/* Servers configuration */
$i = 0;
/* Server localhost (config:root) [1] */
$i++;
SQL. Deadlock'ai
Darbe susidūriau su tokia problema, kad kartais SQL serveris atjungia kokį procesą prie SQL serverio.
Paskaitęs internete atradau, kad taip atsitinka dėl to, jog SQL serveris aptinka, kad yra negerovė su procesu. Tada iš (tarkim) esančių dviejų procesų atsitiktinai parinktą vieną išjungia (abort) ir kitas gali drąsiai veikti.
Įdomi situacija. Ieškojau sprendimo.
SQL. Paskutinės praėjusio mėnesio dienos datos gavimas
Seniau kliedėjau apie paskutinės praeitos mėnesio dienos datos gavimą. Analogiškas daiktas ant MS SQL:
SELECT DATEADD(day, -datepart(dd, @DateOfThisMonth), @DateOfThisMonth)
Pvz.:
DECLARE @DateOfThisMonth nvarchar(50)
SET @DateOfThisMonth = '2005.01.20'
SELECT DATEADD(day, -datepart(dd, @DateOfThisMonth), @DateOfThisMonth)
Išveda: 2004-12-31 00:00:00.000
SQL. CASE sakinys
Kartais gali prireikti SQL'e susieti vieną informaciją su kita. Pvz. skaičius 1-as reiškia "A", skaičius 2 reiškia "B", skaičius 3 reiškia "C". Kaip tai padaryti? Pasinaudoti CASE sakiniu:
SELECT CASE Skaiciai WHEN 1 THEN 'A' WHEN 2 THEN 'B' ELSE 'C' END AS 'Skaitinė informacija' FROM SkaiciuLentele
Geras daiktas ;)
SQL. Duomenų bazės lentelių gavimas
Jeigu turime duomenų bazę ir mums baisiai reikia gauti jos lenteles, galime vykdyti užklausą:
SHOW TABLES FROM <duomenų_bazė>
Pavyzdžiui:
mysql> SHOW TABLES FROM wordpress;
+-----------------------+
| Tables_in_wordpress |
+-----------------------+
| wp_comments |
| wp_links |
| wp_options |
| wp_postmeta |
| wp_posts |
| wp_term_relationships |
| wp_term_taxonomy |
| wp_terms |
| wp_usermeta |
| wp_users |
+-----------------------+
10 rows in set (0.00 sec)
m
SQL funkcijų vykdymas
Su tokia nedidele problemėle susidūriau, bet išsprendžiau. Kad žmonės per daug nesikankintų, sugrūsiu ir čia sprendimą.
SQL. Žmogaus amžiaus apskaičiavimas SQL
Atrodytų paprasta problemėlė, bet kaip tai realizuoti - reikia pamąstyti. Principas paprastas: turime šios dienos datą, iš jos atimame žmogaus gimimo datą ir gaunam amžių.
SQL įterpto įrašo ID gavimas
Jeigu dirbate su MS SQL greičiausiai Jums reikia įterpti įrašą. Taip pat gali prireikti, kad būtų gražintas įterpto įrašo ID.
Paprastas triukas:
INSERT lentelės_vardas
( laukas1, laukas2, laukas3)
VALUES ( @laukas1, @laukas2, @laukas3)
SELECT @@IDENTITY

