sql server中的reverse函式
reverse返回字串值的逆向值。如果其他型別使用reverse函式,系統會先轉換成字元型別然後再使用reverse函式。下面舉幾個例子:
1. varchar型別
declare @myvar varchar(10)
set @myvar = 'sdrawkcab'
select reverse(@myvar) as reversed ;
go--結果
backwards
2. int型別
declare @i int
set @i = 123450
select reverse(@i) as reversed ;
go--結果
054321
其實從這個結果,可以很明顯看出先轉換成字串然後再逆向的。
3. 二進位制
使用二進位制時,發生點小意外:
declare @b varbinary(100)
set @b = 0x7788
select convert(varbinary(100), reverse(@b))
go--結果
0x77
按理說,返回結果應該是0x8877,怎麼回事呢?原來問題出在二進位制向字串轉換上。我的資料庫的字串排序規則是chinese_prc_ci_as,在這種排序規則下0x88是不能轉換的,所以0x88丟了。知道原因後,再用進行下面的測試,結果就正確了。
declare @tab table(col1 varchar(100) collate latin1_general_bin,
col2 varchar(100))
insert into @tab
values(0x7788, 0x7788)
select convert(varbinary(100), col1),
convert(varbinary(100), col2),
convert(varbinary(100),reverse(col1)),
convert(varbinary(100),reverse(col2))
from @tab
go--結果
0x7788 0x77 0x8877 0x77
參考文獻
1.
Objective C 字串的反轉Reverse
oc中字串的反轉方式可以用兩種方式來處理 第一種 從頭到尾取出字串的每乙個字元,然後將其從尾到頭新增到可變的字串中,最後輸出即可。第二種 將oc內部的字串轉換為c語言中的字串,然後動態分配乙個陣列,然後將字串內容拷貝到陣列中,進行首尾交換操作。共進行陣列長度 2次操作。方式一 oc版本 1 nsmu...
SQL Server中的查詢
本博文簡單介紹一下sql server中常用的幾類查詢及相關使用的方法。一 executescalar方法獲取單一值 executescalar方法是sqlcommand類的方法之一,執行查詢,並返回查詢所返回的結果集中的第一行第一列。csharp view plain copy print cla...
SQL Server中row number的用法
row number 函式將針對select語句返回的每一行,從1開始編號,賦予其連續的編號。在查詢時應用了乙個排序標準後,只有通過編號才能夠保證其順序是一致的,當使用row number函式時,也需要專門一列用於預先排序以便於進行編號。row number 常用的幾種情況 1.使用row numb...