Sql Server函式全解(3):資料型別轉換函式和文字影象函式

發表於2015-05-07

一:資料型別轉換函式
在同時處理不同資料型別的值時,SQL Server一般會自動進行隱士型別轉換。對於資料型別相近的值是有效的,比如int和float,但是對於其它資料型別,例如整型和字元型別,隱士轉換就無法實現了,此時必須使用顯示轉換。為了實現這種顯示轉換,T-SQL提供了兩個顯示轉換函式,分別是CAST和CONVERT函式。

CAST(x AS type)和CONVERT(type,x)函式將一個型別的值轉換為另一個型別的值。

可以看到,CAST(‘121231′ AS DATE)將字串值轉換為了相應的日期值;CAST(100 AS CHAR(3))將整數100轉換為帶有3個顯示寬度的字串型別,結果為字串”100″;CONVERT(TIME,’2012-05-01 12:11:10’)將datetime型別的值,轉換為time型別值,結果為”12:11:10.0000000″。

二:文字和影象函式
文字和影象函式用於對文字或影象輸入值或欄位進行操作,並提供有關該值的基本資訊。T-SQL中常用的文字含函式有兩個,即TEXTPTR函式和TEXTVALID函式。

1.TEXTPTR函式

TEXTPTR(column)函式用於返回varbinary格式的text、ntext或者image欄位的文字指標值。查詢到的文字指標值可應用於readtext,writetext和updatetext語句。其中引數column是一個資料型別為text、ntext或者image的欄位列。

【例】查詢authors表中name欄位十六位元組文字指標;
首先建立表authors, name欄位為text型別,T-SQL程式碼如下:

使用TEXTPTR查詢authors表中name欄位的十六位元組文字指標

2. TEXTVALID函式

TEXTVALID(‘table.column’,text_ptr)函式用於檢查特定文字指標是否為有效的text、ntext或image函式。table.column為指定資料表和欄位,text_ptr為要檢查的文字指標。
【例】檢查是否存在用於authors表中decription欄位中的各個值的有效文字指標。

第一個1為id的值,第二個1表示查詢的值存在.

相關文章