一、字元轉換函式
1、ascii()
返回字元表示式最左端字元的ascii 碼值。在ascii()函式中,純數字的字串可不用『』括起來,但含其它字元的字串必須用『』括起來使用,否則會出錯。
2、char()
將ascii 碼轉換為字元。如果沒有輸入0 ~ 255 之間的ascii 碼值,char() 返回null 。
3、lower()和upper()
lower()將字串全部轉為小寫;upper()將字串全部轉為大寫。
4、str()
把數值型資料轉換為字元型資料。
str ([,length[, ]])
length 指定返回的字串的長度,decimal 指定返回的小數字數。如果沒有指定長度,預設的length 值為10, decimal 預設值為0。
當length 或者decimal 為負值時,返回null;
當length 小於小數點左邊(包括符號位)的位數時,返回length 個*;
先服從length ,再取decimal ;
當返回的字串位數小於length ,左邊補足空格。
二、去空格函式
1、ltrim() 把字串頭部的空格去掉。
2、rtrim() 把字串尾部的空格去掉。
三、取子串函式
1、left()
left (, )
返回character_expression 左起 integer_expression 個字元。
2、right()
right (, )
返回character_expression 右起 integer_expression 個字元。
3、substring()
substring (, , length)
返回從字串左邊第starting_ position 個字元起length個字元的部分。
四、字串比較函式
1、charindex()
返回字串中某個指定的子串出現的開始位置。
charindex (<』substring_expression』>, )
其中substring _expression 是所要查詢的字元表示式,expression 可為字串也可為列名表示式。如果沒有發現子串,則返回0 值。
此函式不能用於text 和image 資料型別。
2、patindex()
返回字串中某個指定的子串出現的開始位置。
patindex (<』%substring _expression%』>, )其中子串表示式前後必須有百分號「%」否則返回值為0。
與charindex 函式不同的是,patindex函式的子串中可以使用萬用字元,且此函式可用於char、 varchar 和text 資料型別。
五、字串操作函式
1、quotename()
返回被特定字元括起來的字串。
quotename (<』character_expression』>[, quote_ character]) 其中quote_ character 標明括字串所用的字元,預設值為「」。
2、replicate()
返回乙個重複character_expression 指定次數的字串。
replicate (character_expression integer_expression) 如果integer_expression 值為負值,則返回null 。
3、reverse()
將指定的字串的字元排列順序顛倒。
reverse () 其中character_expression 可以是字串、常數或乙個列的值。
4、replace()
返回被替換了指定子串的字串。
replace (, , ) 用string_expression3 替換在string_expression1 中的子串string_expression2。
4、space()
返回乙個有指定長度的空白字串。
space () 如果integer_expression 值為負值,則返回null 。
5、stuff()
用另一子串替換字串指定位置、長度的子串。
stuff (, , ,)
如果起始位置為負或長度值為負,或者起始位置大於character_expression1 的長度,則返回null 值。
如果length 長度大於character_expression1 中 start_ position 以右的長度,則character_expression1 只保留首字元。
六、資料型別轉換函式
1、cast()
cast (as [ length ])
2、convert()
convert ([ length ], [, style])
1)data_type為sql server系統定義的資料型別,使用者自定義的資料型別不能在此使用。
2)length用於指定資料的長度,預設值為30。
3)把char或varchar型別轉換為諸如int或samllint這樣的integer型別、結果必須是帶正號或負號的數值。
4)text型別到char或varchar型別轉換最多為8000個字元,即char或varchar資料型別是最大長度。
5)image型別儲存的資料轉換到binary或varbinary型別,最多為8000個字元。
6)把整數值轉換為money或smallmoney型別,按定義的國家的貨幣單位來處理,如人民幣、美元、英鎊等。
7)bit型別的轉換把非零值轉換為1,並仍以bit型別儲存。
8)試圖轉換到不同長度的資料型別,會截短轉換值並在轉換值後顯示「+」,以標識發生了這種截斷。
9)用convert() 函式的style 選項能以不同的格式顯示日期和時間。style 是將datatime 和smalldatetime 資料轉換為字串時所選用的由sql server 系統提供的轉換樣式編號,不同的樣式編號有不同的輸出格式。
七、日期函式
1、day(date_expression)
返回date_expression中的日期值
2、month(date_expression)
返回date_expression中的月份值
3、year(date_expression)
返回date_expression中的年份值
4、dateadd()
dateadd (, , )
返回指定日期date 加上指定的額外日期間隔number 產生的新日期。
5、datediff()
datediff (, , )
返回兩個指定日期在datepart 方面的不同之處,即date2 超過date1的差距值,其結果值是乙個帶有正負號的整數值。
6、datename()
datename (, )
以字串的形式返回日期的指定部分此部分。由datepart 來指定。
7、datepart()
datepart (, )
以整數值的形式返回日期的指定部分。此部分由datepart 來指定。
datepart (dd, date) 等同於day (date)
datepart (mm, date) 等同於month (date)
datepart (yy, date) 等同於year (date)
8、getdate()
以datetime 的預設格式返回系統當前的日期和時間
問:請教乙個sql 2000 sever問題:
select * from itemcode
where code like '40%'
如何讓code=40101001
變成code=401-01-001
目前有666個code是類似40101001
用什麼語句能把它變成401-01-001
答:update itemcode set code=replace(code,left(code,8),left(code,3)+'-'+substring(code,4,2)+'-'+substring(code,6,3)) where code like '40%'
問:replace(code,left(code,8),left(code,3)+'-'+substring(code,4,2)+'-'+substring(code,6,3))是什麼意思?
答:拿 code=123456789 做例子
a = left(code,8) = 12345678
b = left(code,3) = 123
c = substring(code,4,2) = 45
d = substring(code,6,3) = 678
e = b+'-'+c+'-'+e = 123-45-678
f = replace(code,a,e) = 123-45-6789
配合下邊的來看,應該能明白了
1、left(code,8) 取前8位
2、substring(code,4,2) 從第4位開始取2位
3、+ 是字串連線符
4、replace(a,str1,str2) 將a中的str1替換為str2
SQL常用字串函式
sql常用字串函式 一 字元轉換函式 1 ascii 返回字元表示式最左端字元的ascii 碼值。在ascii 函式中,純數字的字串可不用 括起來,但含其它字元的字串必須用 括起來使用,否則會出錯。2 char 將ascii 碼轉換為字元。如果沒有輸入0 255 之間的ascii 碼值,char 返...
SQL中常用字串函式
charindex 返回指定字元的位置 2個引數,第乙個是要查詢的字串 第二個引數 要搜尋的字串 引數3 開始查詢的位置 查詢位置從1開始,返回結果為0時表示為結果為空 len 返回字串的長度 left right 返回從左邊 右邊開始擷取指定字元的長度 案例 返回郵箱 之前的郵箱id select...
常用字串函式
memset 原型 extern void memset void buffer,int c,int count 用法 include 功能 把buffer所指記憶體區域的前count個位元組設定成字元c。說明 返回指向buffer的指標。舉例 memset.c include include ma...