MID() 函數(shù)

創(chuàng)新互聯(lián)公司專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于成都網(wǎng)站制作、成都網(wǎng)站設(shè)計(jì)、友誼網(wǎng)絡(luò)推廣、成都小程序開發(fā)、友誼網(wǎng)絡(luò)營(yíng)銷、友誼企業(yè)策劃、友誼品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運(yùn)營(yíng)等,從售前售中售后,我們都將竭誠(chéng)為您服務(wù),您的肯定,是我們最大的嘉獎(jiǎng);創(chuàng)新互聯(lián)公司為所有大學(xué)生創(chuàng)業(yè)者提供友誼建站搭建服務(wù),24小時(shí)服務(wù)熱線:18980820575,官方網(wǎng)址:chinadenli.net
MID() 函數(shù)用于從文本字段中提取字符。
具體語(yǔ)法參考:
注意事項(xiàng)如下:
-from 樹懶學(xué)堂
實(shí)例
下面的 SQL 語(yǔ)句從 “Websites” 表的 “name” 列中提取前 4 個(gè)字符:
自定義函數(shù)分為:標(biāo)量值函數(shù)或表值函數(shù)
如果?RETURNS?子句指定一種標(biāo)量數(shù)據(jù)類型,則函數(shù)為標(biāo)量值函數(shù)。可以使用多條?Transact-SQL?語(yǔ)句定義標(biāo)量值函數(shù)。?
如果?RETURNS?子句指定?TABLE,則函數(shù)為表值函數(shù)。
表值函數(shù)又可分為:內(nèi)嵌表值函數(shù)(行內(nèi)函數(shù))或多語(yǔ)句函數(shù)
如果?RETURNS?子句指定的?TABLE?不附帶列的列表,則該函數(shù)為內(nèi)嵌表值函數(shù)。?
如果?RETURNS?子句指定的?TABLE?類型帶有列及其數(shù)據(jù)類型,則該函數(shù)是多語(yǔ)句表值函數(shù)。
DATEADD
在向指定日期加上一段時(shí)間的基礎(chǔ)上,返回新的 datetime 值。
語(yǔ)法
DATEADD ( datepart , number, date )
DATEDIFF
返回跨兩個(gè)指定日期的日期和時(shí)間邊界數(shù)。
語(yǔ)法
DATEDIFF ( datepart , startdate , enddate )
DATEPART
返回代表指定日期的指定日期部分的整數(shù)。
語(yǔ)法
DATEPART ( datepart , date )
DATENAME
返回代表指定日期的指定日期部分的字符串。
語(yǔ)法
DATENAME ( datepart , date )
比較 DATEADD 和 DATEDIFF
DATEADD 函數(shù)向指定日期添加一段時(shí)間間隔。例如,如果 titles 表中所有書籍的發(fā)行日期都推遲三天,則可使用以下語(yǔ)句獲得新的發(fā)行日期:
USE pubs
SELECT DATEADD(day, 3, pubdate)
FROM titles
如果日期參數(shù)的數(shù)據(jù)類型是 smalldatetime,則結(jié)果的數(shù)據(jù)類型也是 smalldatetime。可以使用 DATEADD 對(duì) smalldatetime 值添加秒或毫秒,但只有當(dāng) DATEADD 返回的結(jié)果日期至少改變了 1 分鐘時(shí),這樣做才有意義。
DATEDIFF 函數(shù)計(jì)算指定的兩個(gè)日期中第二個(gè)日期與第一個(gè)日期之間各日期部分相差的時(shí)間量。換句話說,它得出兩個(gè)日期之間的間隔。結(jié)果是等于 date2 - date1 的帶符號(hào)整數(shù)值,以各日期部分為單位。
下面的查詢使用日期 1995 年 11 月 30 日,并得出 pubdate 和該日期之間相差的天數(shù)。
USE pubs
SELECT DATEDIFF(day, pubdate, 'Nov 30 1995')
FROM titles
對(duì)于 titles 中 pubdate 為 1995 年 10 月 21 日的行,上述查詢生成的結(jié)果為 40。(10 月 21 日和 11 月 30 日之間相差 40 天。)要計(jì)算以月為單位的間隔,請(qǐng)使用以下查詢:
USE pubs
SELECT interval = DATEDIFF(month, pubdate, 'Nov 30 1995')
FROM titles
該查詢對(duì) pubdate 值在 10 月的行生成的值為 1,對(duì) pubdate 值在 6 月的行生成的值為 5。
若 DATEDIFF 函數(shù)中的第一個(gè)日期晚于指定的第二個(gè)日期,則產(chǎn)生的結(jié)果為負(fù)數(shù)。由于 titles 中有兩行使用 GETDATE 函數(shù)指派 pubdate 的值,所以這些值被設(shè)置為 pubs 數(shù)據(jù)庫(kù)的創(chuàng)建日期,這樣在前面的兩個(gè)查詢中這兩行返回負(fù)數(shù)。
如果一個(gè)或兩個(gè)日期參數(shù)是 smalldatetime 值,它們將在內(nèi)部轉(zhuǎn)換為 datetime 值進(jìn)行計(jì)算。為了進(jìn)行計(jì)算,smalldatetime 值中的秒和毫秒將自動(dòng)設(shè)置為 0。
比較 DATEPART 和 DATENAME
DATEPART 和 DATENAME 函數(shù)將 datetime 值的指定部分(年、季度、天、小時(shí)等)生成為整數(shù)值或 ASCII 字符串。由于 smalldatetime 只能精確到分鐘,所以在這兩個(gè)函數(shù)中使用 smalldatetime 值時(shí),返回的秒和毫秒部分總是為零。
下面的示例假定日期為 5 月 29 日:
SELECT DATEPART(month, GETDATE())
下面是結(jié)果集:
------------
5
(1 row(s) affected)
SELECT DATENAME(month, GETDATE())
下面是結(jié)果集:
------------
May
(1 row(s) affected)
具體可以參考SQL Server聯(lián)機(jī)叢書(安裝SQLServer時(shí)自動(dòng)的幫助)
創(chuàng)建自定義函數(shù):
use 數(shù)據(jù)庫(kù)名
go
create function 函數(shù)名
(@pno int)
returns int
as
begin
declare @a int
if not exists(select * from person where pno=@pno)
set @a=-1
else
set @a=1
return @a
end
調(diào)用函數(shù):
use 數(shù)據(jù)庫(kù)名
go
select dbo.函數(shù)名(13250)
SQL
中的
substring
函數(shù)是用來抓出一個(gè)欄位
資料
中的其中一部分。這個(gè)函數(shù)的
名稱
在不同的
資料庫(kù)
中不完全一樣:
MySQL:
SUBSTR(
),
SUBSTRING(
)
Oracle:
SUBSTR(
)
SQL
Server:
SUBSTRING(
)
SQL
中的
substring
函數(shù)是用來截取一個(gè)欄位資料中的其中一部分。
例如,我們需要將
字符串
'abdcsef'中的‘a(chǎn)bd'給提取出來,則可用substring
來實(shí)現(xiàn):
select
substring('abdcsef',1,3)
結(jié)果:
'abd'
括號(hào)中數(shù)字‘1'表示截取的起始位置是從該字符串第一個(gè)字符開始,‘3'表示截取后得到的字符串
長(zhǎng)度
為3個(gè)字符。
這是‘substring'最基礎(chǔ)的
語(yǔ)法
,當(dāng)然,我們的需求有時(shí)候會(huì)變得比較復(fù)雜,例如以下例子:
我們只想要得到'roomno'中的房間號(hào),發(fā)現(xiàn)起始字符位置并不是固定的,而且,我們需要的房間號(hào)長(zhǎng)度也不固定。
此時(shí),我們可以運(yùn)用‘charindex'這個(gè)函數(shù)就可以輕松搞定,它是用來定位某個(gè)特定字符在該字符串中的位置,即該函數(shù)
得到的結(jié)果是一個(gè)用來表示某個(gè)特定字符位置的數(shù)字。執(zhí)行如下代碼:
select
room_stand=substring(roomno,charindex('元',roomno)+1,charindex('室',roomno)-charindex('元',roomno)-1)
from
PROPERTY_room
where
roomno
like
'%
單元
%室%'
結(jié)果:
以上所述是小編給大家介紹的Sql
Server中Substring函數(shù)的
用法
實(shí)例
解析,希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)
腳本之家
網(wǎng)站的支持!
網(wǎng)頁(yè)名稱:sqlserver中函數(shù),sql中函數(shù)用法
URL鏈接:http://chinadenli.net/article25/dsecsji.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制網(wǎng)站、手機(jī)網(wǎng)站建設(shè)、企業(yè)建站、虛擬主機(jī)、網(wǎng)站維護(hù)、網(wǎng)站導(dǎo)航
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容