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
& ......
SQLÖÐNµÄ×÷ÓÃ?
exec sp_executesql N'SELECT TOP 1 ISNULL(vDefine1,'''') AS vMonth, dtBegin, dtEnd from SM_ActMonth WHERE vActID=@P1 AND bCarryForward=@P2 ORDER BY iListID DESC
', N'@P1 varchar(3),@P2 bit', '001', 1
exec sp_executesql N'SELECT * from KEHU WHERE KHDM>=@P1 AND ZK=@P2',N'@P1 VARCHAR(20),@P2 Numeric(18,6)','001',1
¼ÓÉÏN´ú±í´æÈëÊý¾Ý¿âʱÒÔ Unicode ¸ñʽ´æ´¢¡£
N'string' ±íʾstringÊǸöUnicode×Ö·û´®
--------------------------------------------------------------------------
ʹÓà Unicode Êý¾Ý
Unicode ±ê׼ΪȫÇòÉÌÒµÁìÓòÖй㷺ʹÓõĴ󲿷Ö×Ö·û¶¨ÒåÁËÒ»¸öµ¥Ò»±àÂë·½°¸¡£ËùÓеļÆËã»ú¶¼Óõ¥Ò»µÄ Unicode ±ê×¼ Unicode Êý¾ÝÖеÄλģʽһÖµطÒë³É×Ö·û¡£Õâ±£Ö¤ÁËͬһ¸öλģʽÔÚËùÓеļÆËã»úÉÏ×ÜÊÇת»»³Éͬһ¸ö×Ö·û¡£Êý¾Ý¿ÉÒÔËæÒâµØ´ÓÒ»¸öÊý¾Ý¿â»ò¼ÆËã»ú´«Ë͵½ÁíÒ»¸öÊý¾Ý¿â»ò¼ÆËã»ú£¬¶ø²»Óõ£ÐĽÓÊÕϵͳÊÇ·ñ»á´íÎ󵨷Òëλģʽ¡£
¶ÔÓÚÓÃÒ»¸ö×Ö½Ú±àÂëÿ¸ö×Ö·ûµÄÊý¾ÝÀàÐÍ£¬´æÔÚµÄÎÊÌâÖ®Ò»¾ÍÊÇ´ËÊý¾ÝÀàÐÍÖ»Äܱíʾ 256 ¸ö²»Í¬µÄ×Ö·û¡£Õâ¾ÍÆÈʹ¶ÔÓÚ²»Í¬µÄ×Öĸ±í£¨ÀýÈçÏà¶Ô½ÏСµÄÅ·ÖÞ×Öĸ±í£©²ÉÓöàÖØ±àÂë¹æ¸ñ£¨»òÕß´úÂëÒ³£©¡£ ......
1,ÏÔʾÓαêµÄ²Ù×÷
(1) ¶¨ÒåÓαê
¸ù¾Ý²éѯµÄÊý¾ÝÇé¿ö£¬ÔÚPL/SQL¿éµÄÉùÃ÷²¿·Ö¶¨ÒåÓα꣬Ó﷨Ϊ£º
cursor cursor_name is select_statement;
×¢Ò⣺
ÓÎ±ê±ØÐëÔÚPL/SQL¿éµÄÉùÃ÷²¿·Ö½øÐж¨Ò壻
Óα궨Òåʱ¿ÉÒÔÒýÓÃPL/SQL±äÁ¿£¬µ«±äÁ¿±ØÐëÔÚÓα궨Òå֮ǰ¶¨Ò壻
¶¨ÒåÓαêʱ²¢Ã»ÓÐÉú³ÉÊý¾Ý£¬Ö»Êǽ«¶¨ÒåÐÅÏ¢±£´æµ½Êý¾Ý×ÖµäÖУ»
Óα궨Òåºó£¬¿ÉÒÔʹÓÃcursor_name%rowtype ¶¨Òå±äÁ¿£»
£¨2£© ´ò¿ªÓαê
ΪÁËÔÚÄÚ´æÖзÖÅ仺³åÇø£¬²¢´ÓÊý¾Ý¿âÖмìË÷Êý¾Ý£¬ÐèÒªÔÚPL/SQL¿éµÄÖ´Ðв¿·Ö´ò¿ªÓα꣬Ó﷨Ϊ£º
open cursor_name;
×¢Ò⣺
Ö»ÓÐÔÚ´ò¿ªÓαêʱ£¬²ÅÊÇÕæÕýµÄ´´½¨»º³åÇø£¬²¢´ÓÊý¾Ý¿â¼ìË÷Êý¾Ý£»
ÓαêÒ»µ©´ò¿ª£¬¾ÍÎÞ·¨Ôٴδò¿ª£¬³ý·ÇÏȹرգ»
Èç¹ûÓα궨ÒåÖеıäÁ¿Öµ·¢Éú±ä»¯£¬ÔòÖ»ÄÜÔÚÏ´δò¿ªÓα ......
ÎÒÃÇÔÚÊý¾Ý¿âÖÐʹÓñíµÄʱºò,¾³£»áÓöµ½Á½ÖÖʹÓñíµÄ·½·¨,·Ö±ð¾ÍÊÇʹÓÃÁÙʱ±í¼°±í±äÁ¿¡£ÔÚʵ¼ÊʹÓõÄʱºò£¬ÎÒÃÇÈçºÎÁé»îµÄÔÚ´æ´¢¹ý³ÌÖÐÔËÓÃËüÃÇ£¬ËäÈ»ËüÃÇʵÏֵŦÄÜ»ù±¾ÉÏÊÇÒ»ÑùµÄ£¬¿ÉÈçºÎÔÚÒ»¸ö´æ´¢¹ý³ÌÖÐÓÐʱºòȥʹÓÃÁÙʱ±í¶ø²»Ê¹Óñí±äÁ¿£¬ÓÐʱºòȥʹÓñí±äÁ¿¶ø²»Ê¹ÓÃÁÙʱ±íÄØ?
¡¡¡¡ÁÙʱ±í
¡¡¡¡ÁÙʱ±íÓëÓÀ¾Ã±íÏàËÆ£¬Ö»ÊÇËüµÄ´´½¨ÊÇÔÚTempdbÖУ¬ËüÖ»ÓÐÔÚÒ»¸öÊý¾Ý¿âÁ¬½Ó½áÊøºó»òÕßÓÉSQLÃüÁîDROPµô£¬²Å»áÏûʧ£¬·ñÔò¾Í»áÒ»Ö±´æÔÚ¡£ÁÙʱ±íÔÚ´´½¨µÄʱºò¶¼»á²úÉúSQL ServerµÄϵͳÈÕÖ¾£¬ËäËüÃÇÔÚTempdbÖÐÌåÏÖ£¬ÊÇ·ÖÅäÔÚÄÚ´æÖеģ¬ËüÃÇÒ²Ö§³ÖÎïÀíµÄ´ÅÅÌ£¬µ«Óû§ÔÚÖ¸¶¨µÄ´ÅÅÌÀï¿´²»µ½Îļþ¡£
¡¡¡¡ÁÙʱ±í·ÖΪ±¾µØºÍÈ«¾ÖÁ½ÖÖ£¬±¾µØÁÙʱ±íµÄÃû³Æ¶¼ÊÇÒÔ“#”Ϊǰ׺£¬Ö»ÓÐÔÚ±¾µØµ±Ç°µÄÓû§Á¬½ÓÖвÅÊǿɼûµÄ£¬µ±Óû§´ÓʵÀý¶Ï¿ªÁ¬½Óʱ±»É¾³ý¡£È«¾ÖÁÙʱ±íµÄÃû³Æ¶¼ÊÇÒÔ“##”Ϊǰ׺£¬´´½¨ºó¶ÔÈκÎÓû§¶¼ÊǿɼûµÄ£¬µ±ËùÓÐÒýÓøñíµÄÓû§¶Ï¿ªÁ¬½Óʱ±»É¾³ý¡£
¡¡¡¡ÏÂÃæÎÒÃÇÀ´¿´Ò»¸ö´´½¨ÁÙʱ±íµÄÀý×Ó£º
Sql´úÂë
CREATE TABLE dbo.#News
¡¡¡¡(
¡¡¡¡News_id int NOT NULL,
¡¡¡ ......
@echo off
rem --------------------- ÅäÖÃ: ftpÉÏ´«²ÎÊý,¼°±¾µØÎļþĿ¼(Êý¾Ý¿â±¸·ÝµÄÁÙʱĿ¼)-----------------
set "PUT_FTP_SERVER=192.168.1.100"
set "PUT_FTP_PORT=21"
set "PUT_FTP_USERNAME=ftpuser"
set "PUT_FTP_PASSWORD=ftppasswd"
set "PUT_DIR=/"
set "LOCAL_DIR=D:\sql_dbbackup\"
rem ----------------------³ÌÐò¿ªÊ¼-----------------------------------------------------------------------
echo begin_backup_db
rem µ÷ÓÃÊý¾Ý¿â±¸·Ý´æ´¢¹ý³Ì,²ÎÊýΪ±¾µØÄ¿Â¼. Êý¾Ý¿â·µ»Ø"¹ýÆÚÐèҪɾ³ýµÄ±¸·ÝÎļþ"
sqlcmd -E -S 127.0.0.1,1333 -d master -v BAK_PATH="'%LOCAL_DIR%'" -Q "execute dbo.p_job_backup $(BAK_PATH);" -t 4800 -h -1 -W | findstr bak>>del_file.txt
rem ¿ªÊ¼×Ô¶¯ÉÏ´«(ÉÏ´«Íêɾ³ý¶ÔÓ¦µÄ±¾µØÎļþ)
echo begin_ftp_upload
call :uploaddir "%LOCAL_DIR%" "%PUT_DIR%"
rem ¼ì²éÊÇ·ñÉÏ´«Ê§°Ü,ʧ°ÜÔò¼Ç¼Êý¾Ý¿âÈÕÖ¾
echo begin_check
for /f "delims=" %%i in ('dir /b /a-d "%LOCAL_DIR%*.bak"') do echo %%~nxi>>local_file.txt
if not exist local_file.txt goto :delete_remote
for /f "delims=" %%i in (loc ......