1:replace º¯Êý
µÚÒ»¸ö²ÎÊýÄãµÄ×Ö·û´®£¬µÚ¶þ¸ö²ÎÊýÄãÏëÌæ»»µÄ²¿·Ö£¬µÚÈý¸ö²ÎÊýÄãÒªÌæ»»³Éʲô
select replace('lihan','a','b')
-----------------------------
lihbn
£¨ËùÓ°ÏìµÄÐÐÊýΪ 1 ÐУ©
=========================================================
2:substringº¯Êý
µÚÒ»¸ö²ÎÊýÄãµÄ×Ö·û´®£¬µÚ¶þ¸öÊÇ¿ªÊ¼Ì滻λÖ㬵ÚÈý¸ö½áÊøÌæ»»Î»ÖÃ
select substring('lihan',1,3);
-----
li
£¨ËùÓ°ÏìµÄÐÐÊýΪ 1 ÐУ©
=========================================================
3:charindexº¯Êý
µÚÒ»¸ö²ÎÊýÄãÒª²éÕÒµÄchar£¬µÚ¶þ¸ö²ÎÊýÄã±»²éÕÒµÄ×Ö·û´® ·µ»Ø²ÎÊýÒ»ÔÚ²ÎÊý¶þµÄλÖÃ
select charindex('a','lihan')
-----------
4
£¨Ë ......
Óû§¡¢×é»ò½ÇÉ«′sde'ÔÚµ±Ç°Êý¾Ý¿âÖÐÒÑ´æÔÚ
Use dbName
go
sp_change_users_login ‘update_one’
,
‘loginName’
, ‘loginName‘
Õª×Ô:http://www.softbunny.net/post/SQL_Login_User.shtml
......
Óï·¨£º
CREATE [Ë÷ÒýÀàÐÍ] INDEX Ë÷ÒýÃû³Æ
ON ±íÃû(ÁÐÃû)
WITH FILLFACTOR = Ìî³äÒò×ÓÖµ0~100
GO
/*ʵÀý*/
USE ¿âÃû
GO
IF EXISTS
(SELECT * from SYSINDEXES WHERE NAME='IX_TEST_TNAME')--¼ì²âÊÇ·ñÒѾ´æÔÚIX_TEST_TNAMEË÷Òý
DROP INDEX
TEST.IX_TEST_TNAME--Èç¹û´æÔÚÔòɾ³ý
--´´½¨Ë÷Òý
CREATE NONCLUSTERED INDEX
IX_TEST_TNAME --´´½¨Ò»¸ö·Ç¾Û¼¯Ë÷Òý
ON TEST(TNAME) --ΪTEST±íµÄTNAME×ֶδ´½¨Ë÷Òý
WITH FILLFACTOR = 30 --Ìî³äÒò×ÓΪ30%
GO
SELECT * from TEST(INDEX = IX_TEST_TNAME) WHERE TNAME = 'A' --Ö¸¶¨°´‘IX_TEST_TNAME’Ë÷Òý²éѯ
×ܽ᣺
1.ʲôÊÇË÷Òý£º
Êý¾Ý¿âÖеÄË÷ÒýÊÇij¸ö±íÖÐÒ»Áлò¶àÁÐÖµµÄ¼¯ºÏºÍÏàÓ¦µÄÖ¸Ïò±íÖÐÎïÀí±êʶÕâЩֵµÄÊý¾ÝÒ³µÄÂß¼Ö¸ÕëÇåµ¥¡£
2.·ÖÀࣺ
ΨһË÷Òý(UNIQUE)£º
²»ÔÊÐíÁ½ÐоßÓÐÏàͬµÄË÷ÒýÖµ£¨´´½¨ÁËÎ¨Ò»Ô¼Êø£¬ÏµÍ³½«×Ô¶¯´´½¨Î¨Ò»Ë÷Òý£©
Ö÷¼üË÷Òý
£º
Ö÷¼üË÷ÒýÒªÇóÖ÷¼üÖеÄÿ¸öÖµÊÇΨһµÄ£¬£¨´´½¨Ö÷¼ü×Ô¶¯´´½¨Ö÷¼üË÷Òý£©
¾Û¼¯Ë÷Òý(CLUSTERED) ......
select convert(numeric(10,4),iinvnowcost) from ...
decimal ºÍ numeric (À´Ô´sql Áª»ú´ÔÊé)
´ø¶¨µã¾«¶ÈºÍСÊýλÊýµÄ numeric Êý¾ÝÀàÐÍ¡£
decimal[(p[, s])] ºÍ numeric[(p[, s])]
¶¨µã¾«¶ÈºÍСÊýλÊý¡£Ê¹ÓÃ×î´ó¾«¶Èʱ£¬ÓÐЧֵ´Ó - 10^38 +1 µ½ 10^38 - 1¡£decimal µÄ SQL-92 ͬÒå´ÊÊÇ dec ºÍ dec(p, s)¡£
p£¨¾«¶È£©
Ö¸¶¨Ð¡Êýµã×ó±ßºÍÓұ߿ÉÒÔ´æ´¢µÄÊ®½øÖÆÊý×ÖµÄ×î´ó¸öÊý¡£¾«¶È±ØÐëÊÇ´Ó 1 µ½×î´ó¾«¶ÈÖ®¼äµÄÖµ¡£×î´ó¾«¶ÈΪ 38¡£
s£¨Ð¡ÊýλÊý£©
Ö¸¶¨Ð¡ÊýµãÓұ߿ÉÒÔ´æ´¢µÄÊ®½øÖÆÊý×ÖµÄ×î´ó¸öÊý¡£Ð¡ÊýλÊý±ØÐëÊÇ´Ó 0 µ½ p Ö®¼äµÄÖµ¡£Ä¬ÈÏСÊýλÊýÊÇ 0£¬Òò¶ø 0 <= s <= p¡£×î´ó´æ´¢´óС»ùÓÚ¾«¶È¶ø±ä»¯¡£
¾«¶È´æ´¢×Ö½ÚÊý
1 - 9
5
10-19
9
20-28
13
29-38
17
......
--kshϵÄÒ»¸öWHILE Ñ»·µÄÀý×Ó
integer i=1
while ((i<67))
do
pirnt $i
i=i+1
done
--ksh ÏÂÒ»¸öFORÑ»·µÄÀý×Ó
for i in `cat listdate.txt`
do
echo "Ö´ÐÐ $i "
done
--- date.pl ÓÃÓÚÉú³ÉÒ»¸öʱ¼ä¶ÎÎļþ
#!/usr/local/bin/perl
use DBI;
if($#ARGV<1)
{
die "USAGE:date.pl <startdate> <enddate> \n";
return(0);
}
$rundate1=$ARGV[0];
$rundate2=$ARGV[1];
$dbh=DBI->connect('dbi:Oracle:host=192.xx.xx.2;sid=ora7','report/system','')||
die('cann\'t connect to database');
$date=$dbh->prepare("select cal_date from calendar where cal_date between to_date(?,'yyyymmdd') and to_date(?,'yyyymmdd')");
$date->bind_param( 1, $rundate1);
$date->bind_param( 2, $rundate2);
$date->execute;
while (@row = $date->fetchrow_array)
{
printf("$row[0]\n");
}
$dbh->disconnect;
---ʵÀý Åú´¦ÀíÖ´ÐÐÒ»¶Îʱ¼ä ÿÌì ÒªÖ´ÐеijÌÐò
date.pl 20100101 20100307 > listdate.txt
for i in `cat listdate.txt`
do
ech ......
Student(S#,Sname,Sage,Ssex) ѧÉú±í
Course(C#,Cname,T#) ¿Î³Ì±í
SC(S#,C#,score) ³É¼¨±í
Teacher(T#,Tname) ½Ìʦ±í
ÎÊÌ⣺
1¡¢²éѯ“001”¿Î³Ì±È“002”¿Î³Ì³É¼¨¸ßµÄËùÓÐѧÉúµÄѧºÅ£»
select a.S# from (select s#,score from SC where C#='001') a,(select s#,score
from SC where C#='002') b
where a.score>b.score and a.s#=b.s#;
2¡¢²éѯƽ¾ù³É¼¨´óÓÚ60·ÖµÄͬѧµÄѧºÅºÍƽ¾ù³É¼¨£»
select S#,avg(score)
from sc
group by S# having avg(score) >60;
3¡¢²éѯËùÓÐͬѧµÄѧºÅ¡¢ÐÕÃû¡¢Ñ¡¿ÎÊý¡¢×ܳɼ¨£»
select Student.S#,Student.Sname,count(SC.C#),sum(score)
from Student left Outer join SC on Student.S#=SC.S#
group by Student.S#,Sname
4¡¢²éѯÐÕ“ÀÄÀÏʦµÄ¸öÊý£»
select count(distinct(Tname))
from Teacher
where Tname like 'Àî%';
5¡¢²éѯûѧ¹ý“Ҷƽ”ÀÏʦ¿ÎµÄͬѧµÄѧºÅ¡¢ÐÕÃû£»
select Student.S#,Stu ......