線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:862
推到 Plurk!
推到 Facebook!

請教比較字串大小的問題

答題得分者是:hello
pprayer
高階會員


發表:35
回覆:185
積分:174
註冊:2002-03-13

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-03-04 16:37:15 IP:61.219.xxx.xxx 未訂閱
資料庫 : MS SQL 2000 資料表 : Table1 Table1內有10筆資料,以下列語法查詢 SELECT * FROM Table1 WHERE 'B101' < 'B10-' 傳回0筆 SELECT * FROM Table1 WHERE 'B101' < 'B10-1' 傳回10筆 SELECT * FROM Table1 WHERE 'B101' < 'B100' 傳回0筆 SELECT * FROM Table1 WHERE 'B101' < 'B1001' 傳回0筆 三四兩段傳回的結果我可以理解,但我搞不懂第二段, 為何會判斷 'B101' > 'B10-' 而 'B101' < 'B10-1' 有人可以跟我說一下原因嗎? 發表人 - pprayer 於 2005/03/04 16:48:51
hagar
版主


發表:143
回覆:4056
積分:4445
註冊:2002-04-14

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-03-04 17:05:35 IP:202.39.xxx.xxx 未訂閱
Ord('1') 結果為 49 Ord('-') 結果為 45 所以 '-' < '1' 所以 'B101' > 'B10-' 所以 'B101' < 'B10-1'
pprayer
高階會員


發表:35
回覆:185
積分:174
註冊:2002-03-13

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-03-04 19:07:03 IP:61.219.xxx.xxx 未訂閱
引言: Ord('1') 結果為 49 Ord('-') 結果為 45 所以 '-' < '1' 所以 'B101' > 'B10-' 所以 'B101' < 'B10-1'
那麼Ord('0') = 48 照上面這樣推斷的話, '0' < '1' 'B101' > 'B100' 'B101' < 'B1001' 可是如我原文上舉的例子,實際上試過的結果為 'B101' > 'B100' 'B101' > 'B1001' 這是為什麼呢?
Mickey
版主


發表:77
回覆:1882
積分:1390
註冊:2002-12-11

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-03-04 22:11:01 IP:218.32.xxx.xxx 未訂閱
一個 byte 一個 byte 比, 直到分出大小, 所以 '2' > '10'.
hello
初階會員


發表:64
回覆:68
積分:31
註冊:2004-05-08

發送簡訊給我
#5 引用回覆 回覆 發表時間:2005-03-09 15:12:02 IP:220.130.xxx.xxx 未訂閱
hi pprayer你好: 我記得sql server在install的時後,如果以自訂的方式可以選擇資料庫的排序及定序方式,你是否在設定時就設定錯誤?我把你四組sql command在我的環境執行了一下,皆是正常的.
pprayer
高階會員


發表:35
回覆:185
積分:174
註冊:2002-03-13

發送簡訊給我
#6 引用回覆 回覆 發表時間:2005-03-16 10:15:56 IP:61.219.xxx.xxx 未訂閱
引言: hi pprayer你好: 我記得sql server在install的時後,如果以自訂的方式可以選擇資料庫的排序及定序方式,你是否在設定時就設定錯誤?我把你四組sql command在我的環境執行了一下,皆是正常的.
我是使用 Chinese_Taiwan_Stroke_CI_AS, 改成Chinese_Taiwan_Stroke_BIN則沒問題
系統時間:2024-06-02 21:18:35
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!