sqlserverµÄ¼¸¸öº¯ÊýÒª¼Ç¼
½ñÈÕÅöµ½¸öÎÊÌ⣺ҪʵÏÖÊý¾Ý±íÖеÄÒ»¸ö×Ö¶ÎÖеÄÎı¾Îª"xxx.gif"µÄת»»Îª"xxx.jpg",ÎÒ²»ÖªµÀÆä¾ßÌåÃû³Æ£¬Ö»ÖªµÀÊÇÒÔgif½áβ¡£
ÎÊÌâ½â¾ö£ºupdate pet set petPhoto=substring(petPhoto,1,datalength(petPhoto)-3)+'jpg' where petPhoto like '%.gif'
×¢ÒâÆ¥Åä·û£º“%”ΪƥÅäÈÎÒⳤ¶ÈÈÎÒâ×Ö·û,“_”Æ¥Åäµ¥¸öÈÎÒâ×Ö·û£¬[A]Æ¥ÅäÒÔA¿ªÍ·µÄ£¬[^A]Æ¥Åä³ý¿ªÒÔA¿ªÍ·µÄ¡£ÖªµÀº¯ÊýÊǽâ¾öÎÊÌâµÄ¹Ø¼ü£¨ÒÔÏÂת×ÔÍøÂ磩£º
1£¬Í³¼Æº¯Êý avg, count, max, min, sum
2£¬ Êýѧº¯Êý
ceiling£¨n) ·µ»Ø´óÓÚ»òÕßµÈÓÚnµÄ×îСÕûÊý
floor(n), ·µ»ØÐ¡ÓÚ»òÕßÊǵÈÓÚnµÄ×î´óÕûÊý
round(m,n), ËÄÉáÎåÈë,nÊDZ£ÁôСÊýµÄλÊý
abs(n) ¾ø¶ÔÖµ
sign(n), µ±n>0, ·µ»Ø1£¬n=0,·µ»Ø0£¬n<0, ·µ»Ø-1
PI(), 3.1415....
rand(),rand(n), ·µ»Ø0-1Ö®¼äµÄÒ»¸öËæ»úÊý
3£¬×Ö·û´®º¯Êý
ascii(), ½«×Ö·ûת»»ÎªASCIIÂë, ASCII('abc') = 97
char(), ASCII Âë ת»»Îª ×Ö·û
low()£¬upper() ´óСдת»»
str(a,b,c)ת»»Êý×ÖΪ×Ö·û´®¡£ a,ÊÇҪת»»µÄ×Ö·û´®¡£bÊÇת»»ÒÔºóµÄ³¤¶È£¬cÊÇСÊýλÊý¡£str(123.456,8,2) = 123.46
ltrim(), rtrim() È¥¿Õ¸ ......
·þÎñÆ÷¶Ë×Ö·û¼¯NLS_LANG=SIMPLIFIED CHINESE_CHINA.ZHS16GBK
¿ØÖÆÎļþctl:
LOAD DATA
CHARACTERSET ZHS16GBK
INFILE 'c:\test.csv'
APPEND INTO TABLE stk_al_version
FIELDS TERMINATED BY ","
(org_no,stk_c,version,name)
¼ÓÈëºìÉ«Õâ¶ÎÎÄ×Ö ......
·þÎñÆ÷¶Ë×Ö·û¼¯NLS_LANG=SIMPLIFIED CHINESE_CHINA.ZHS16GBK
¿ØÖÆÎļþctl:
LOAD DATA
CHARACTERSET ZHS16GBK
INFILE 'c:\test.csv'
APPEND INTO TABLE stk_al_version
FIELDS TERMINATED BY ","
(org_no,stk_c,version,name)
¼ÓÈëºìÉ«Õâ¶ÎÎÄ×Ö ......
CONVERTµÄʹÓ÷½·¨:
¡¡¡¡¸ñʽ:
¡¡¡¡CONVERT(data_type,expression[,style])
¡¡¡¡ËµÃ÷:
¡¡¡¡´ËÑùʽһ°ãÔÚʱ¼äÀàÐÍ(datetime,smalldatetime)Óë×Ö·û´®ÀàÐÍ(nchar,nvarchar,char,varchar)
¡¡¡¡Ï໥ת»»µÄʱºò²ÅÓõ½.
¡¡¡¡Àý×Ó:
¡¡¡¡Select CONVERT(varchar(30),getdate(),101) now
¡¡¡¡½á¹ûΪ
¡¡¡¡now
¡¡¡¡---------------------------------------
¡¡¡¡styleÊý×ÖÔÚת»»Ê±¼äʱµÄº¬ÒåÈçÏÂ
¡¡¡¡---------------------------------------------------------------
¡¡¡¡Style(2λ±íʾÄê·Ý) ¡¡ Style(4λ±íʾÄê·Ý) ¡¡ ÊäÈëÊä³ö¸ñʽ
¡¡¡¡---------------------------------------------------------------
¡¡¡¡- ¡¡ 0 or 100 ¡¡ mon dd yyyy hh:miAM(»òPM)
¡¡¡¡---------------------------------------------------------------
¡¡¡¡1 ¡¡ 101 ¡¡ mm/dd/yy
¡¡¡¡----------------------------------------------------------------
¡¡¡¡-----------------------------
¡¡¡¡2 ¡¡ 102 ¡¡ yy-mm-dd
¡¡¡¡------------------------------------------------------------------
¡¡¡¡3 ¡¡ 103 ¡¡ dd/mm/yy
¡¡¡¡-------------
¡¡¡¡------------- ......
declare @a int
set @a = 1
while @a<1000000
begin
insert into Test(name) values(@a)
set @a = @a + 1
end ......
ÔÚSQLÓï¾äÓÅ»¯¹ý³ÌÖУ¬ÎÒÃǾ³£»áÓõ½hint,ÏÖ×ܽáÒ»ÏÂÔÚSQLÓÅ»¯¹ý³ÌÖг£¼ûOracle HINTµÄÓ÷¨£º
1. /*+ALL_ROWS*/
±íÃ÷¶ÔÓï¾ä¿éÑ¡Ôñ»ùÓÚ¿ªÏúµÄÓÅ»¯·½·¨,²¢»ñµÃ×î¼ÑÍÌÍÂÁ¿,ʹ×ÊÔ´ÏûºÄ×îС»¯.
ÀýÈç:
SELECT /*+ALL+_ROWS*/ EMP_NO,EMP_NAM,DAT_IN from BSEMPMS WHERE EMP_NO='SCOTT';
2. /*+FIRST_ROWS*/
±íÃ÷¶ÔÓï¾ä¿éÑ¡Ôñ»ùÓÚ¿ªÏúµÄÓÅ»¯·½·¨,²¢»ñµÃ×î¼ÑÏìӦʱ¼ä,ʹ×ÊÔ´ÏûºÄ×îС»¯.
ÀýÈç:
SELECT /*+FIRST_ROWS*/ EMP_NO,EMP_NAM,DAT_IN from BSEMPMS WHERE EMP_NO='SCOTT';
3. /*+CHOOSE*/
±íÃ÷Èç¹ûÊý¾Ý×ÖµäÖÐÓзÃÎʱíµÄͳ¼ÆÐÅÏ¢,½«»ùÓÚ¿ªÏúµÄÓÅ»¯·½·¨,²¢»ñµÃ×î¼ÑµÄÍÌÍÂÁ¿;
±íÃ÷Èç¹ûÊý¾Ý×ÖµäÖÐûÓзÃÎʱíµÄͳ¼ÆÐÅÏ¢,½«»ùÓÚ¹æÔò¿ªÏúµÄÓÅ»¯·½·¨;
ÀýÈç:
SELECT /*+CHOOSE*/ EMP_NO,EMP_NAM,DAT_IN from BSEMPMS WHERE EMP_NO='SCOTT';
4. /*+RULE*/
±íÃ÷¶ÔÓï¾ä¿éÑ¡Ôñ»ùÓÚ¹æÔòµÄÓÅ»¯·½·¨.
ÀýÈç:
SELECT /*+ RULE */ EMP_NO,EMP_NAM,DAT_IN from BSEMPMS WHERE EMP_NO='SCOTT';
5. /*+FULL(TABLE)*/
±íÃ÷¶Ô±íÑ¡ÔñÈ«¾ÖɨÃèµÄ·½·¨.
ÀýÈç:
SELECT /*+FULL(A)*/ EMP_NO,EMP_NAM from BSEMPMS A WHERE EMP_NO='SCOTT';
6. /*+ROWID(TABLE)*/
ÌáʾÃ÷È·±íÃ÷¶ÔÖ¸¶¨± ......
ÈçºÎ·ÀÖ¹³ÌÐòÖÐSQL½Å±¾±»SQL SERVERµÄʼþ̽²éÆ÷¸ú×Ù£¬±£ÕÏ×Ô¼ºµÄÈí¼þ²»±»ËûÈË·ÖÎö£¿
ÏÂÃæÊÇÒ»¸öÍ£Ö¹ËùÓÐSQLSERVERµÄ¸ú×ÙÆ÷µÄ½Å±¾(Á½ÖÖ·½·¨µÄÔÀíÏàͬ)£º
µÚÒ»ÖÖ·½·¨£º
procedure SQLCloseAllTrack;
const
sql = 'declare @TID integer ' +
'declare Trac Cursor For ' +
'SELECT Distinct Traceid from :: fn_trace_getinfo(default) ' +
'open Trac ' +
'Fetch Next from Trac into @TID ' +
'while @@fetch_status=0 ' +
'begin ' +
' exec sp_trace_setstatus @TID,0 ' +
' exec sp_trace_setstatus @TID,2 ' +
' Fetch Next from Trac into @TID ' +
'end ' +
'Close Trac ' +
'deallocate Trac';
begin
//Í£Ö¹ËùÓÐSQLSERVERµÄ¸ú×ÙÆ÷,ÒÔ·ÀÖ¹³ÌÐò±»別È˸ú×Ù
ExecSql(sql);
end;
µÚ¶þÖÖ·½·¨£º
with faq1 do
begin
Close;
sql.Clear;
sql.add('declare @t_count int');
sql.add('set @t_count=1');
sql.add('while exists(SELECT * from ::::fn_trace_geteventinfo(@t_count))');
sql.add('begin');
sql.add('exec sp_trace_setstatus @t_count,0' ......