sql Á½±í¹ØÁª ¸üÐÂ
update set from Óï¾ä¸ñʽ
SybaseºÍSQL SERVER£ºUPDATE...SET...from...WHERE...µÄÓï·¨£¬Êµ¼ÊÉÏ´ÓÔ´±í»ñÈ¡¸üÐÂÊý¾Ý¡£
ÔÚ SQL ÖУº
Update A SET A.dept =B.name
from A LEFT JOIN B ON B.ID=A.dept_ID ......
±¾ÎÄ×ªÔØÓÚ£ºhttp://www.javaeye.com/topic/185385
ѧϰÊý¾Ý¿â²éѯµÄʱºò¶Ô¶à±íÁ¬½Ó²éѯµÄÓÐЩ¸ÅÄ±È½ÏÄ£ºý¡£¶øÁ¬½Ó²éѯÊÇÔÚÊý¾Ý¿â²éѯ²Ù×÷µÄʱºò¿Ï¶¨ÒªÓõ½µÄ¡£¶ÔÓڴ˸ÅÄî
ÎÒÓÃͨË×һЩµÄÓïÑÔºÍÀý×ÓÀ´½øÐн²½â¡£Õâ¸öÀý×ÓÊÇÎÒ½²¿ÎµÄʱºò¾³£²ÉÓõÄÀý×Ó¡£
Ê×ÏÈÎÒÃÇ×öÁ½ÕÅ±í£ºÔ±¹¤ÐÅÏ¢±íºÍ²¿ÃÅÐÅÏ¢±í£¬ÔÚ´Ë£¬±íµÄ½¨Á¢Ö»Îª½²ÊöÁ¬½ÓµÄ¸ÅÄËùÒÔ×ֶηdz£µÄ¼òµ¥
EmployeeTB£¨Ô±¹¤ÐÅÏ¢±í£©£º
employeeid employeename deptid
0001 ÕÅÈý 01
0002 ÀîËÄ 01
0003 ÍõÎå 02
0004 ÕÔÁù 02
0005 Ö£Æß NULL
DeptTB£¨²¿ÃÅÐÅÏ¢±í£©
deptid deptname
01 ¼¼Êõ²¿
02 Êг¡²¿
03 ¹¤³Ì²¿
ÎÒÃÇÏÖÔÚÐèÒª½øÐÐÁ¬½Ó²éѯ£¬Á¬½ÓÁ½Õűí¼ìË÷Êý¾Ý¡£·Ö±ð¼ìË÷Ô±¹¤ÐÅÏ¢±íµÄÔ±¹¤±àºÅ¡¢Ô±¹¤ÐÕÃûºÍ²¿ÃÅÐÅÏ¢±íÖеIJ¿ÃÅÃû³Æ¡£
ÏÔÈ»£¬Á½¸ö±íµÄÁ¬½ÓÌõ¼þÊÇ Ô±¹¤±íµÄ²¿ÃűàºÅ=²¿ÃűíµÄ²¿ÃűàºÅ
×¢Ò⣺֣Æß²»ÊôÓÚÈκβ¿ÃÅ£¨ÐÂÀ´µÄÔ±¹¤£¬»¹Ã»ÓзÖÅäµ½ÈκεIJ¿ÃÅ£©£¬¶ø¹¤³Ì²¿²»´æÔÚÈκεÄÔ±¹¤£¨±ÈÈçÊÇÒ»¸öгÉÁ¢µÄ²¿ÃÅ£¬»¹Ã»ÓÐÔ±¹¤£©
1¡¢ÄÚÁ¬½Ó²éѯ
ÎÒÃÇ¿ÉÒÔÓÐÁ½ÖÖ·½Ê½£¬ÕâÁ½ÖÖÊǵÈЧµÄ ......
Ö±½ÓÔÚSQL²éѯ·ÖÎöÆ÷ÖжÁÈ¡EXCELÎļþÐèҪʹÓõ½OPENDATASOURCE¡£
µ«ÊÇʹÓÃËü֮ǰÐèÒª½øÐÐÅäÖÃһϡ£¼ÇµÃÈçÏÂÅäÖÃÊDZØÐëµÄ£º
1¡¢Ö´ÐÐÕâÁ½¸ö´æ´¢¹ý³Ì£º
exec sp_configure 'show advanced options',1
reconfigure
exec sp_configure 'Ad Hoc Distributed Queries',1
reconfigure
ËüµÄ×÷Óãº
µÚÒ»¸öÊÇ£ºÊÇ·ñÖ§³Ö¸ß¼¶Ñ¡ÏîµÄ£¬1Ϊ֧³Ö0Ϊ²»Ö§³Ö¡£
µÚ¶þ¸öÊÇ£ºÊÇ·ñÖ§³Ö·Ö²¼Ê½²éѯ£¬
1Ϊ֧³Ö0Ϊ²»Ö§³Ö¡£
¶øÇÒÒ»¶¨ÊÇÏÈÖ§³Ö¸ß¼¶Ñ¡ÏÔÙ¿ÉÒÔÉèÖ÷ֲ¼Ê½²éѯ£¬ÒòΪ·Ö²¼Ê½²éѯ±¾Éí¾ÍÊÇ
Ò»¸ö¸ß¼¶Ñ¡ÏîÀ´µÄ¡£
2¡¢Ê¹ÓÃOPENDATASOURCE£¬ËüÓÐÁ½ÖÖÓï·¨
£¨1£©SELECT * from OPENDATASOURCE('Microsoft.Jet.OLEDB.4.0',
'Data Source=D:\TempExcelData\Exl_Test_01.xls;Extended Properties=EXCEL 5.0')...[Student$]
£¨2£©select *
from Openrowset('Microsoft.Jet.OLEDB.4.0','EXCEL 8.0;HDR=YES;User id=admin;Password=;IMEX=1;
DATABASE=D:\TempExcelData\Exl_Test_01.xls', Student$)
3¡¢ÓÃÍêºóÒª¹Ø±ÕµÚÒ»²½´ò¿ªµÄ¶«Î÷
exec sp_configure 'show advanced options',0
reconfigure
exec sp_configure 'Ad Hoc Distributed Queries',0
reconfigure
°´Õմ˲½²»Ò»¶¨¿ÉÒÔ² ......
¾¹ýÁ˼¸´ÎµÄ²âÊÔÖÕÓڳɹ¦ÁË
declare @Year Int,
@Month int,
@Day int,
@Temp_No varchar(12),
@NeedNo varchar(4),
@No varchar(20),
@Number varchar(50),
@RandNo varchar(50),
@Nu varchar(10)
select @year=Year(GetDate())
select @Month=Month(GetDate())
select @Day=Day(GetDate())
select @No=Str(@Year,4,0)+
(select
case
when @Month>=10 then Str(@Month,2,0)
&nbs ......
ǰһƪ²©¿Í IP to Integer ÌṩµÄ SQL º¯ÊýÊÇ IP ת»»³É Integer µÄ·½·¨¡£ Integer µÄ×î´óֵΪ£º 2147483647£¨2^31 - 1£©¡£°´ÕÕ IP ת»»³ÉÕûÊýµÄËã·¨£¬»áËã³öÀ´´óÓÚÕâ¸öÖµµÄ£¬ËùÒÔ֮ǰÌṩµÄ IP ת»»³É Integer µÄ·½·¨»áËã³ö¸ºÖµ¡£ ÏÂÃæÊÇ IP to BigInt µÄת»»Ëã·¨£¬ ÕâʱºòÔËËã¾Í²»»áСÓÚÁã¡£
CREATE FUNCTION dbo.ipStringToBigInt
(
@ip CHAR(15)
)
RETURNS bigint
AS
BEGIN
DECLARE @rv bigint,
@o1 bigint,
@o2 INT,
@o3 INT,
@o4 INT
SELECT
@o1 = CONVERT(INT, PARSENAME(@ip, 4)),
@o2 = CONVERT(INT, PARSENAME(@ip, 3)),
@o3 = CONVERT(INT, PARSENAME(@ip, 2)),
@o4 = CONVERT(INT, PARSENAME(@ip, 1))
IF (@o1 BETWEEN 0 AND 255)
AND (@o2 BETWEEN 0 AND 255)
AND (@o3 BETWEEN 0 AND 255)
AND (@o4 BETWEEN 0 AND 255)
BEGIN
SET @rv = (@o1 * 16777216) +
(@o2 * 65536) +
(@o3 * 256) +
(@o4)
END
ELSE
......
1.Ò»µÀSQLÓï¾äÃæÊÔÌ⣬¹ØÓÚgroup by
±íÄÚÈÝ£º
2005-05-09 ʤ
2005-05-09 ʤ
2005-05-09 ¸º
2005-05-09 ¸º
2005-05-10 ʤ
2005-05-10 ¸º
2005-05-10 ¸º
Èç¹ûÒªÉú³ÉÏÂÁнá¹û, ¸ÃÈçºÎдsqlÓï¾ä?
ʤ ¸º
2005-05-09 2 2
2005-05-10 1 2
------------------------------------------
create table #tmp(rq varchar(10),shengfu nchar(1))
insert into #tmp values('2005-05-09','ʤ')
insert into #tmp values('2005-05-09','ʤ')
insert into #tmp values('2005-05-09','¸º')
insert into #tmp values('2005-05-09','¸º')
insert into #tmp values('2005-05-10','ʤ')
insert into #tmp values('2005-05-10','¸º')
insert into #tmp values('2005-05-10','¸º')
1)select rq, sum(case when shengfu='ʤ' then 1 else 0 end)'ʤ',sum(case when shengfu='¸º' then 1 else 0 end)'¸º' from #tmp group by rq
2) select N.rq,N.勝,M.負 from (
select rq,勝=count(*) from #tmp where shengfu='ʤ'group by rq)N inner join
(select rq,負=count(*) from #tmp where shengfu='¸º'group b ......