在同時處理不一樣數據類型的值時,SQL Server通常會自動進行隱士類型轉換。對於數據類型相近的值是有效的,好比int和float,可是對於其它數據類型,例如整型和字符類型,隱士轉換就沒法實現了,此時必須使用顯示轉換。爲了實現這種顯示轉換,T-SQL提供了兩個顯示轉換函數,分別是CAST和CONVERT函數。
CAST(x AS type)和CONVERT(type,x)函數將一個類型的值轉換爲另外一個類型的值。
eg: select CAST('121231' AS DATE),CAST(100 AS CHAR(3)),CONVERT(TIME,'2012-05-01 12:11:10')
能夠看到,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函數 this
TEXTPTR(column)函數用於返回varbinary格式的text、ntext或者image字段的文本指針值。查找到的文本指針值可應用於readtext,writetext和updatetext語句。其中參數column是一個數據類型爲text、ntext或者image的字段列。
【例】查詢authors表中name字段十六字節文本指針;
首先建立表authors, name字段爲text類型,T-SQL代碼以下:
create table authors(id int ,name text);
insert into authors values(1,'this is a text');
使用TEXTPTR查詢authors表中name字段的十六字節文本指針
select id, TEXTPTR(name)from authors where id=1指針
2. TEXTVALID函數 htm
TEXTVALID('table.column',text_ptr)函數用於檢查特定文本指針是否爲有效的text、ntext或image函數。table.column爲指定數據表和字段,text_ptr爲要檢查的文本指針。
【例】檢查是否存在用於authors表中decription字段中的各個值的有效文本指針。
select id,'this is a text' = TEXTVALID(('authors.name'),TEXTPTR(name)) from authors;
第一個1爲id的值,第二個1表示查詢的值存在.blog
原文地址:http://www.cnblogs.com/selene/p/4467653.htmlip