Sybase 鍑芥暟
Sybase瀛楃涓插嚱鏁?/span>
闀垮害鍜岃娉曞垎鏋?span>
datalength(char_expr)
鍦╟har_expr涓繑鍥炲瓧絎︾殑闀垮害鍊鹼紝蹇界暐灝劇┖
substring(expression,start,length)
榪斿洖閮ㄥ垎瀛楃涓?span>
right(char_expr,int_expr)
榪斿洖char_expr鍙寵竟鐨刬nt_expr瀛楃
鍩烘湰瀛楃涓茶繍綆?span>
upper(char_expr)
鎶奵har_expr杞崲鎴愬ぇ鍐欏艦寮?span>
lower(char_expr)
鎶奵har_expr杞崲鎴愬皬鍐欏艦寮?span>
space(int_expr)
鐢熸垚鏈塱nt_expr涓┖鏍肩殑瀛楃涓?span>
replicate(char_expr,int_expr)
閲嶅char_expr,int_expr嬈?span>
stuff(expr1,start,length,expr2)
鐢╡xpr2浠f浛epxr1涓璼tart璧峰闀夸負length鐨勫瓧絎︿覆
reverse(char_expr)
鍙嶅啓char_expr涓殑鏂囨湰
ltrim(char_expr)
鍒犻櫎澶寸┖
rtrim(char_expr)
鍒犻櫎灝劇┖
鏍煎紡杞崲
ascii(char_expr)
榪斿洖char_expr涓涓涓瓧絎︾殑ASCII鍊?span>
char(int_expr)
鎶夾SCII鐮佽漿鎹負瀛楃
str(float_expr[,length[,decimal]])
榪涜鏁板煎瀷鍒板瓧絎﹀瀷杞崲
soundex(char_expr)
榪斿洖char_expr鐨剆oundex鍊?span>
difference(char_expr1,char_expr2)
榪斿洖琛ㄨ揪寮弒oundex鍊間箣宸?span>
涓插唴鎼滅儲
charindex(char_expr,expression)
榪斿洖鎸囧畾char_expr鐨勫紑濮嬩綅緗?鍚﹀垯涓?span>0
patindex("%pattern%",expression)
榪斿洖鎸囧畾鏍峰紡鐨勫紑濮嬩綅緗?鍚﹀垯涓?span>0
datalength鐢ㄤ簬紜畾鍙彉瀛楃涓茬殑闀垮害
soundex鐢ㄤ簬紜畾瀛楃涓叉槸鍚﹀彂闊崇浉浼?span>
difference榪斿洖0-4涔嬮棿鐨勫鹼紝0琛ㄧず鏈涓嶇浉浼鹼紝4琛ㄧず鏈鐩鎬技
閫氶厤絎?span>
% 鍖歸厤浠諱綍鏁伴噺鐨勫瓧絎︽垨鏃犲瓧絎?span>
_ 鍖歸厤浠諱綍鍗曚釜瀛楃錛堢┖闂村崰浣嶇錛?span>
[] 瑙勫畾鏈夋晥鑼冨洿,鎴栨煇涓?OR"鏉′歡
[ABG] A,B,G
[A-C] A,B,C
[A-CE-G] A,B,C,E,F,G
[^ABG] 闄や簡A,B,G
[^A-C] 闄や簡A錛孊錛?span>C
escape瀛愬彞
鐢ㄦ煇涓漿涔夊瓧絎﹀彲鍦ㄦ悳绱㈠瓧絎︿覆鏃跺皢閫氶厤絎︿綔涓烘枃瀛楁潵鍖呭惈銆?span>
ANSI-89 SQL鏍囧噯瀹氫箟浜唀scape瀛愬彞鎸囧畾鏌愪釜杞箟瀛楃
緙虹渷鎯呭喌涓嬶紝[]鏉ヨ漿涔夋煇涓氶厤絎︼紝渚嬶細
select * from test_tab
where description like "%20[%]%"
璇硶錛?span>
like char_expression escape escape_character
渚?span>
select * from test_tab
where description like "%20#%%" escape "#"
+ 鍙敤浜庝覆鎺ュ瓧絎?span>
select au_laname+","+au_fname from authors
鏁板鍑芥暟
abs(numeric_expr)
榪斿洖鎸囧畾鍊肩殑緇濆鍊?span>
ceiling(numeric_expr)
榪斿洖澶т簬鎴栫瓑浜庢寚瀹氬肩殑鏈灝忔暣鏁?span>
exp(float_expr)
緇欏嚭鎸囧畾鍊肩殑鎸囨暟鍊?span>
floor(numeric_expr)
榪斿洖灝忎簬鎴栫瓑浜庢寚瀹氬肩殑鏈澶ф暣鏁?span>
pi()
榪斿洖甯告暟3.1415926
power(numeric_expr,power)
榪斿洖numeric_expr鐨勫肩粰power鐨勫箓
rand([int_expr])
榪斿洖0-1涔嬮棿鐨勯殢鏈烘誕鐐規暟錛屽彲鎸囧畾鍩哄?span>
round(numeric_expr,int_expr)
鎶婃暟鍊艱〃杈懼紡鍦嗘暣鍒癷nt_expr鎸囧畾鐨勭簿搴?span>
sign(int_expr)
榪斿洖姝?1錛岄浂0鎴栬礋-1
sqrt(float_expr)
榪斿洖鎸囧畾鍊肩殑騫蟲柟鏍?span>
SQL SERVER鏀寔鎵鏈夋爣鍑嗙殑涓夎鍑芥暟鍜屽叾浠栨湁鐢ㄧ殑鍑芥暟
鏃ユ湡鍑芥暟
getdate()
榪斿洖褰撳墠鐨勭郴緇熸棩鏈熷拰鏃墮棿
datename(datepart,date_expr)
浠ュ瓧絎︿覆褰㈠紡榪斿洖date_expr鎸囧畾閮ㄥ垎鐨勫?杞崲鎴愬悎閫傜殑鍚嶅瓧
datepart(datepart,date_expr)
浣滀負鏁存暟榪斿洖date_expr鍊肩殑鎸囧畾閮ㄥ垎
datediff(datepart,date_expr1,date_expr2)
榪斿洖date_expr2-date_expr1,閫氳繃鎸囧畾鐨刣atepart搴﹂噺
dateadd(datepart,number,date_expr)
榪斿洖鏃ユ湡,閫氳繃鍦╠ate_expr涓婂鍔犳寚瀹歯umber鐨勬棩鏈熼儴浠惰屼駭鐢熺殑
datepart
鏃ユ湡閮ㄤ歡 緙╁啓 鍊艱寖鍥?span>
騫?span> yy 1753-9999
瀛e害 qq 1-4
鏈?span> mm 1-12
姣忓勾涓殑澶?span> dy 1-366
澶?span> dd 1-31
鏄熸湡 wk 1-54
鏄熸湡澶?span> dw 1-7(1=sunday)
灝忔椂 hh 0-23
鍒嗛挓 mi 0-59
縐?span> ss 0-59
姣 ms 0-999
渚嬶細
select invoice_no,
datediff(dd,date_shipped,getdate())
from invoices
where balance_due>0
杞崲鍑芥暟convert
姝ゅ嚱鏁版妸鍊間粠涓縐嶇被鍨嬫敼鍙樻垚鍙︿竴縐嶇被鍨?span>
convert(datetype [(length)],expression)
select "Advance="+convert(char(12),advance)
from titles
鏃ユ湡杞崲
convert(datetype[(length)],expression,format)
format鎸囧畾灝嗘棩鏈熻漿鎹負浠涔堟牸寮忥紝鏈変互涓嬪鹼細
娌℃湁涓栫邯 鏈変笘綰?杞崲瀛楃涓蹭腑鏃ユ湡鏍煎紡
0 or 100 mon dd yyy hh:miAM(or PM)
1 101 mm/dd/yy
2 102 yy.mm.dd
3 103 dd/mm/yy
4 104 dd.mm.yy
5 105 dd-mm-yy
6 106 dd mon yy
7 107 mon dd,yy
8 108 hh:mm:ss
9 or 109 mon dd,yyyy hh:mi:ss:mmmAM(or PM)
10 110 mm-dd-yy
11 111 yy/mm/dd
12 112 yymmdd
緋葷粺鍑芥暟
鍑芥暟 瀹氫箟
璁塊棶鍜屽畨鍏ㄦт俊鎭?span>
host_id() 瀹㈡埛榪涚▼鐨勫綋鍓嶄富鏈鴻繘紼婭D鍙?span>
host_name() 瀹㈡埛榪涚▼鐨勫綋鍓嶄富璁$畻鏈哄悕
suser_id(["login_name"]) 鐢ㄦ埛鐨?span>SQL Server ID鍙?span>
suser_name([server_user_id]) 鐢ㄦ埛鐨凷QL Server鐧誨綍鍚?span>
user_id(["name_in_db"]) 鐢ㄦ埛鍦ㄦ暟鎹簱涓殑ID鍙?span>
user_name([user_id]) 鐢ㄦ埛鍦ㄦ暟鎹簱涓殑鍚嶅瓧
user 鐢ㄦ埛鍦ㄦ暟鎹簱涓殑鍚嶅瓧
show_role() 鐢ㄦ埛鐨勫綋鍓嶆椿鍔ㄨ鑹?
鏁版嵁搴撳拰瀵硅薄淇℃伅
db_id(["db_name"]) 鏁版嵁搴揑D鍙?span>
db_name([db_id]) 鏁版嵁搴撳悕
object_id("objname") 鏁版嵁搴撳璞D鍙?span>
object_name(obj_id]) 鏁版嵁搴撳璞″彿
col_name(obj_id,col_id) 瀵硅薄鐨勬爮鍚?span>
col_length("objname","colname") 鏍忕殑闀垮害
index_col("objname",index_id,key#) 宸茬儲寮曠殑鏍忓悕
valid_name(char_expr) 鑻har_expr涓嶆槸鏈夋晥鏍囪瘑絎︼紝鍒欒繑鍥?
鏁版嵁鍑芥暟
datalength(expression) 鎸夊瓧鑺傝繑鍥瀍xpression鐨勯暱搴?span>
tsequal(timestamp1,timestamp2) 姣旇緝鏃舵埑鍊鹼紝鑻ユ椂鎴沖間笉鍖歸厤錛屽垯榪斿洖鍑洪敊娑堟伅
isnull()
isnull鍑芥暟鐢ㄦ寚瀹氱殑鍊間唬鏇挎煡璇㈡爮鎴栧悎璁′腑鐨勭┖鍊?span>
渚嬶細
select avg(isnull(total_order,$0))
from invoices
鏃ユ湡鍑芥暟
getdate()
寰楀埌褰撳墠鏃墮棿,鍙互璁劇疆寰楀埌鍚勭鏃墮棿鏍煎紡.
datepart(鏃ユ湡閮ㄥ垎,鏃ユ湡)
鍙栨寚瀹氭椂闂寸殑鏌愪竴涓儴鍒?騫存湀澶╂椂鍒嗙.
datediff(鏃ユ湡閮ㄥ垎,鏃ユ湡1,鏃ユ湡2)
璁$畻鎸囧畾鐨勬棩鏈?鍜屾棩鏈?鐨勬椂闂村樊澶氬皯.
dateadd(鏃ユ湡閮ㄥ垎,鏁板艱〃杈懼紡,鏃ユ湡)
璁$畻鎸囧畾鏃墮棿,鍐嶅姞涓婅〃杈懼紡鎸囧畾鐨勬椂闂撮暱搴?
--鍙栨椂闂寸殑鏌愪竴涓儴鍒?/span>
select datepart(yy,getdate()) --year
select datepart(mm,getdate()) --month
select datepart(dd,getdate()) --day
select datepart(hh,getdate()) --hour
select datepart(mi,getdate()) --min
select datepart(ss,getdate()) --sec
--鍙栨槦鏈熷嚑
set datefirst 1
select datepart(weekday,getdate()) --weekday
--瀛楃涓叉椂闂?/span>
select getdate() -- '03/11/12'
select convert(char,getdate(),101) -- '09/27/2003'
select convert(char,getdate(),102) -- '2003.11.12'
select convert(char,getdate(),103) -- '27/09/2003'
select convert(char,getdate(),104) -- '27.09.2003'
select convert(char,getdate(),105) -- '27-09-2003'
select convert(char,getdate(),106) -- '27 Sep 2003'
select convert(char,getdate(),107) --'Sep 27, 2003'
select convert(char,getdate(),108) --'11:16:06'
select convert(char,getdate(),109) --'Sep 27 2003 11:16:28:746AM'
select convert(char,getdate(),110) --'09-27-2003'
select convert(char,getdate(),111) --'2003/09/27'
select convert(char,getdate(),112) --'20030927'
select rtrim(convert(char,getdate(),102))+' '+(convert(char,getdate(),108)) -- '2003.11.12 11:03:41'
--鏁存暟鏃墮棿
select convert(int,convert(char(10),getdate(),112)) -- 20031112
select datepart(hh,getdate())*10000 + datepart(mi,getdate())*100 + datepart(ss,getdate()) -- 110646
--鏃墮棿鏍煎紡 "YYYY.MM.DD HH:MI:SS" 杞崲涓?span> "YYYYMMDDHHMISS"
declare @a datetime,@tmp varchar(20),@tmp1 varchar(20)
select @a=convert(datetime,'2004.08.03 12:12:12')
select @tmp=convert(char(10),@a,112)
select @tmp
select @tmp1=convert(char(10),datepart(hh,@a)*10000 + datepart(mi,@a)*100 + datepart(ss,@a))
select @tmp1
select @tmp=@tmp+@tmp1
select @tmp
--褰撴湀鏈鍚庝竴澶?/span>
declare
@tmpstr varchar(10)
@mm int,
@premm int,
@curmmlastday varchar(10)
begin
select @mm=datepart(month,getdate())--褰撴湀
select @premm=datepart(month,dateadd(month,-1,getdate())) --涓婁釜鏈?/span>
if (@mm>=1 and @mm<=8)
select @tmpstr=convert(char(4),datepart(year,getdate()))+'.0'+convert(char(1),datepart(month,dateadd(month,1,getdate())))+'.'+'01'
else if (@mm>=9 and @mm<=11)
select @tmpstr=convert(char(4),datepart(year,getdate()))+'.'+convert(char(2),datepart(month,dateadd(month,1,getdate())))+'.'+'01'
else
select @tmpstr=convert(char(4),datepart(year,dateadd(year,1,getdate())))+'.0'+convert(char(1),datepart(month,dateadd(month,1,getdate())))+'.'+'01'
select @curmmlastday=convert(char(10),dateadd(day,-1,@tmpstr),102) --褰撴湀鏈鍚庝竴澶?/span>
end
婧愭枃妗?span> <http://hi.baidu.com/hwaspf/blog/item/a0ef87be66326e0d18d81f17.html>