sql
ÖÐ case when Óï·¨
sqlÓïÑÔÖÐÓÐûÓÐÀàËÆCÓïÑÔÖеÄswitch caseµÄÓï¾ä£¿£¿
ûÓÐ,ÓÃcase when À´´úÌæ¾ÍÐÐÁË.
ÀýÈç,ÏÂÃæµÄÓï¾äÏÔʾÖÐÎÄÄêÔÂ
select getdate() as ÈÕÆÚ,case month(getdate())
when 11
then 'ʮһ'
when 12 then 'Ê®¶þ'
else
substring('Ò»¶þÈýËÄÎåÁùÆ߰˾ÅÊ®', month(getdate()),1)
end+'ÔÂ' as Ô·Ý
=================================================
CASE
¿ÉÄÜÊÇ SQL
Öб»ÎóÓÃ×î¶àµÄ¹Ø¼ü×ÖÖ®Ò»¡£ËäÈ»Äã¿ÉÄÜÒÔÇ°ÓùýÕâ¸ö¹Ø¼ü×ÖÀ´´´½¨×ֶΣ¬µ«ÊÇËü»¹¾ßÓиü¶àÓ÷¨¡£ÀýÈ磬Äã¿ÉÒÔÔÚ
WHERE
×Ó¾äÖÐʹÓÃ
CASE
¡£
Ê×ÏÈÈÃÎÒÃÇ¿´Ò»ÏÂ
CASE
µÄÓï·¨¡£ÔÚÒ»°ãµÄ
SELECT
ÖУ¬ÆäÓï·¨ÈçÏ£º
SELECT
<
myColumnSpec
>
=
CASE
WHEN
<
A
>
THEN
<
somethingA
>
......
1 TOP
ÕâÊÇÒ»¸ö´ó¼Ò¾³£Îʵ½µÄÎÊÌ⣬ÀýÈçÔÚSQLSERVERÖпÉÒÔʹÓÃÈçÏÂÓï¾äÀ´È¡µÃ¼Ç¼¼¯ÖеÄÇ°Ê®Ìõ¼Ç¼£º
SELECT TOP 10 * from [index] ORDER BY indexid DESC;
µ«ÊÇÕâÌõSQLÓï¾äÔÚSQLiteÖÐÊÇÎÞ·¨Ö´Ðеģ¬Ó¦¸Ã¸ÄΪ£º
SELECT * from [index] ORDER BY indexid DESC limit 0,10;
ÆäÖÐlimit 0,10±íʾ´ÓµÚ0Ìõ¼Ç¼¿ªÊ¼£¬ÍùºóÒ»¹²¶ÁÈ¡10Ìõ
2 ´´½¨ÊÓͼ£¨Create View£©
SQLiteÔÚ´´½¨¶à±íÊÓͼµÄʱºòÓÐÒ»¸öBUG£¬ÎÊÌâÈçÏ£º
CREATE VIEW watch_single AS SELECT DISTINCT watch_item.[watchid],watch_item.[itemid] from watch_item;
ÉÏÃæÕâÌõSQLÓï¾äÖ´Ðкó»áÏÔʾ³É¹¦£¬µ«ÊÇʵ¼ÊÉϳýÁË
SELECT COUNT(*) from [watch_single ] WHERE watch_ single.watchid = 1;
ÄÜÖ´ÐÐÖ®ÍâÊÇÎÞ·¨Ö´ÐÐÆäËûÈκÎÓï¾äµÄ¡£ÆäÔÒòÔÚÓÚ½¨Á¢ÊÓͼµÄʱºòÖ¸¶¨ÁË×Ö¶ÎËùÔڵıíÃû£¬¶øSQLite²¢²»ÄÜÕýÈ·µØʶ±ðËü¡£ËùÒÔÉÏÃæµÄ´´½¨Óï¾äÒª¸ÄΪ£º
CREATE VIEW watch_single AS SELECT DISTINCT [watchid],[itemid] from watch_item;
µ«ÊÇËæÖ®¶øÀ´µÄÎÊÌâÊÇÈç¹ûÊǶà±íµÄÊÓͼ£¬ÇÒ±í¼äÓÐÖØÃû×ֶεÄʱºò¸ÃÔõô°ì£¿
3 COUNT£¨DISTINCT column£©
SQLiteÔÚÖ´ÐÐÈçÏÂÓï¾ä ......
1 TOP
ÕâÊÇÒ»¸ö´ó¼Ò¾³£Îʵ½µÄÎÊÌ⣬ÀýÈçÔÚSQLSERVERÖпÉÒÔʹÓÃÈçÏÂÓï¾äÀ´È¡µÃ¼Ç¼¼¯ÖеÄÇ°Ê®Ìõ¼Ç¼£º
SELECT TOP 10 * from [index] ORDER BY indexid DESC;
µ«ÊÇÕâÌõSQLÓï¾äÔÚSQLiteÖÐÊÇÎÞ·¨Ö´Ðеģ¬Ó¦¸Ã¸ÄΪ£º
SELECT * from [index] ORDER BY indexid DESC limit 0,10;
ÆäÖÐlimit 0,10±íʾ´ÓµÚ0Ìõ¼Ç¼¿ªÊ¼£¬ÍùºóÒ»¹²¶ÁÈ¡10Ìõ
2 ´´½¨ÊÓͼ£¨Create View£©
SQLiteÔÚ´´½¨¶à±íÊÓͼµÄʱºòÓÐÒ»¸öBUG£¬ÎÊÌâÈçÏ£º
CREATE VIEW watch_single AS SELECT DISTINCT watch_item.[watchid],watch_item.[itemid] from watch_item;
ÉÏÃæÕâÌõSQLÓï¾äÖ´Ðкó»áÏÔʾ³É¹¦£¬µ«ÊÇʵ¼ÊÉϳýÁË
SELECT COUNT(*) from [watch_single ] WHERE watch_ single.watchid = 1;
ÄÜÖ´ÐÐÖ®ÍâÊÇÎÞ·¨Ö´ÐÐÆäËûÈκÎÓï¾äµÄ¡£ÆäÔÒòÔÚÓÚ½¨Á¢ÊÓͼµÄʱºòÖ¸¶¨ÁË×Ö¶ÎËùÔڵıíÃû£¬¶øSQLite²¢²»ÄÜÕýÈ·µØʶ±ðËü¡£ËùÒÔÉÏÃæµÄ´´½¨Óï¾äÒª¸ÄΪ£º
CREATE VIEW watch_single AS SELECT DISTINCT [watchid],[itemid] from watch_item;
µ«ÊÇËæÖ®¶øÀ´µÄÎÊÌâÊÇÈç¹ûÊǶà±íµÄÊÓͼ£¬ÇÒ±í¼äÓÐÖØÃû×ֶεÄʱºò¸ÃÔõô°ì£¿
3 COUNT£¨DISTINCT column£©
SQLiteÔÚÖ´ÐÐÈçÏÂÓï¾ä ......
--·ÃÎʲ»Í¬µçÄÔÉϵÄÊý¾Ý¿â
--Èç¹û¾³£·ÃÎÊ»òÊý¾ÝÁ¿´ó,½¨ÒéÓÃÁ´½Ó·þÎñÆ÷
--´´½¨Á´½Ó·þÎñÆ÷
exec sp_addlinkedserver 'srv_lnk','','SQLOLEDB','Ô¶³Ì·þÎñÆ÷Ãû»òipµØÖ·'
exec sp_addlinkedsrvlogin 'srv_lnk','false',null,'Óû§Ãû','ÃÜÂë'
go
--²éѯʾÀý
select * from srv_lnk.Êý¾Ý¿âÃû.dbo.±íÃû
--µ¼ÈëʾÀý
select * into ±í from srv_lnk.Êý¾Ý¿âÃû.dbo.±íÃû
go
--´¦ÀíÍê³Éºóɾ³ýÁ´½Ó·þÎñÆ÷
exec s ......
ÈÕÆÚºÍʱ¼äº¯Êý¶Ô½¨Á¢Ò»¸öÕ¾µãÊǷdz£ÓÐÓõġ£Õ¾µãµÄÖ÷ÈËÍùÍù¶ÔÒ»¸ö±íÖеÄÊý¾ÝºÎʱ±»
¸üиÐÐËȤ¡£Í¨¹ýÈÕÆÚºÍʱ¼äº¯Êý£¬Äã¿ÉÒÔÔÚºÁÃ뼶¸ú×ÙÒ»¸ö±íµÄ¸Ä±ä¡£
·µ»Øµ±Ç°ÈÕÆÚºÍʱ¼ä
ͨ¹ýº¯ÊýGETDATE£¨£©£¬Äã¿ÉÒÔ»ñµÃµ±Ç°µÄÈÕÆÚºÍʱ¼ä¡£ÀýÈ磬Óï¾äSELECT GETDATE()
·µ»ØÈçϵĽá¹û£º
……………………………
NOV 30 1997 3£º29AM
(1 row(s) affected)
ÏÔÈ»£¬Èç¹ûÄ㽫À´Ê¹ÓÃÕâ¸öº¯Êý£¬ÄãµÃµ½µÄÈÕÆÚ½«±ÈÕâ¸öʱ¼äÍí£¬»òÕ߸üÔç¡£
º¯ÊýGETDATE£¨£©¿ÉÒÔÓÃÀ´×÷ΪDATEDIME£¨£©ÐÍ×ֶεÄȱʡֵ¡£Õâ¶Ô²åÈë¼Ç¼ʱ±£´æ
µ±Ê±µÄʱ¼äÊÇÓÐÓõġ£ÀýÈ磬¼ÙÉèÓÐÒ»¸ö±íÓÃÀ´±£´æÄãÕ¾µãÉϵĻÈÕÖ¾¡£Ã¿µ±ÓÐÒ»¸ö·Ã
ÎÊÕß·ÃÎʵ½ÄãµÄÕ¾µãʱ£¬¾ÍÔÚ±íÖÐÌí¼ÓÒ»ÌõмǼ£¬¼ÇÏ·ÃÎÊÕßµÄÃû×Ö£¬»î¶¯£¬ºÍ½øÐзÃ
ÎʵÄʱ¼ä¡£Òª½¨Á¢Ò»¸ö±í£¬ÆäÖеļǼ°üº¬Óе±Ç°µÄÈÕÆÚºÍʱ¼ä£¬¿ÉÒÔÌí¼ÓÒ»¸öDATETIME
ÐÍ×ֶΣ¬Ö¸¶¨ÆäȱʡֵΪº¯ÊýGETDATE£¨£©µÄ·µ»ØÖµ£¬¾ÍÏóÕâÑù£º
CREATE TABLE site_log (
username VARCHAR(40)£¬
useractivity VARCHAR(100)£¬
entrydate DATETIME DEFAULT GETDATE())
ת»»ÈÕÆÚºÍʱ¼ä
ÄãÒ²ÐíÒÑ¾× ......
sql CHARINDEXº¯Êý
SQL Server 2010-01-15 09:01:15 ÔĶÁ888 ÆÀÂÛ0 ×ֺţº´óÖÐС
CHARINDEXº¯Êý·µ»Ø×Ö·û»òÕß×Ö·û´®ÔÚÁíÒ»¸ö×Ö·û´®ÖеÄÆðʼλÖá£CHARINDEXº¯Êýµ÷Ó÷½·¨ÈçÏ£º
CHARINDEX ( expression1 , expression2 [ , start_location ] )
Expression1ÊÇÒªµ½expression2ÖÐÑ°ÕÒµÄ×Ö·ûÖУ¬start_locationÊÇCHARINDEXº¯Êý¿ªÊ¼ÔÚexpression2ÖÐÕÒexpression1µÄλÖá£
CHARINDEXº¯Êý·µ»ØÒ»¸öÕûÊý£¬·µ»ØµÄÕûÊýÊÇÒªÕÒµÄ×Ö·û´®ÔÚ±»ÕÒµÄ×Ö·û´®ÖеÄλÖ᣼ÙÈçCHARINDEXûÓÐÕÒµ½ÒªÕÒµÄ×Ö·û´®£¬ÄÇôº¯ÊýÕûÊý“0”¡£ÈÃÎÒÃÇ¿´¿´ÏÂÃæµÄº¯ÊýÃüÁîÖ´ÐеĽá¹û£º
CHARINDEX('SQL', 'Microsoft SQL Server')
Õâ¸öº¯ÊýÃüÁ·µ»ØÔÚ“Microsoft SQL Server”ÖГSQL”µÄÆðʼλÖã¬ÔÚÕâ¸öÀý×ÓÖУ¬CHARINDEXº¯Êý½«·µ»Ø“S”ÔÚ“Microsoft SQL Server”ÖеÄλÖÃ11¡£
½ÓÏÂÀ´£¬ÎÒÃÇ¿´Õâ¸öCHARINDEXÃüÁ
......
-- Êý¾Ý×Öµä
SELECT
(case when a.colorder=1 then d.name else '' end)±íÃû,
a.colorder ×Ö¶ÎÐòºÅ,
a.name ×Ö¶ÎÃû,
(case when COLUMNPROPERTY( a.id,a.name,'IsIdentity')=1 then '√'else '' end) ±êʶ,
(case when (SELECT count(*)
from sysobjects
WHERE (name in
(SELECT name
from sysindexes
WHERE (id = a.id) AND (indid in
& ......