討論區快速選單
知識庫快速選單
傑米的攝影旅遊筆記 政府補助!學嵌入式+物聯網 程式設計俱樂部Facebook粉絲團
[ 回上頁 ] [ 討論區發言規則 ]
煩請高手出招 mysql 轉 msql 函數疑問
更改我的閱讀文章字型大小
作者 : morca67(morca)
[ 貼文 5 | 人氣 0 | 評價 0 | 評價/貼文 0 | 送出評價 0 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2011/8/9 下午 01:16:29
在mysql 是正常可用,但是改用 ms-sql 就沒辦法撈出資料,煩請各位高手出招

原先使用 mysql

SELECT %d as icid,cardid,(IFNULL(conv(mid(temployee.accdoor,((%d-1)*4+1),4),16,10),0)|IFNULL(conv(mid(tdepartment.accdoor,((%d-1)*4+1),4),16,10),0)|IFNULL(conv(mid(tdefault_accdoor.accdoor,((%d-1)*4+1),4),16,10),0)) as accdoor FROM temployee,tdefault_accdoor LEFT OUTER JOIN tdepartment on temployee.department=tdepartment.id

改用 ms-sql

SELECT %d as icid,cardid,(ISNULL(CONVERT(SUBSTRING(temployee.accdoor,((%d-1)*4+1),4),16,10),0)|ISNULL(CONVERT(SUBSTRING(tdepartment.accdoor,((%d-1)*4+1),4),16,10),0)|ISNULL(CONVERT(SUBSTRING(tdefault_accdoor.accdoor,((%d-1)*4+1),4),16,10),0)) as accdoor FROM temployee,tdefault_accdoor LEFT OUTER JOIN tdepartment on temployee.department=tdepartment.id

轉換要改用的函數查出如下
IFNULL -> ISNULL
MID -> SUBSTRING
CONV -> CONVERT
作者 : icebo(icebo)
[ 貼文 15 | 人氣 157 | 評價 40 | 評價/貼文 2.67 | 送出評價 0 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2011/8/10 上午 10:48:19
建議你將整個Query 語法直接在mssql上執行看看
看系統回給你甚摸訊息 ... 再post上來叫容易排除問題點
作者 : morca67(morca)
[ 貼文 5 | 人氣 0 | 評價 0 | 評價/貼文 0 | 送出評價 0 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2011/8/10 上午 11:30:39

>建議你將整個Query 語法直接在mssql上執行看看
>看系統回給你甚摸訊息 ... 再post上來叫容易排除問題點

感謝您抽空回覆

這個錯誤最可怕的地方就在他只顯示有錯誤,但是沒有其他任可有用的資訊

就是沒辦法了才 post 來找各路高手幫忙,感恩!
作者 : morca67(morca)
[ 貼文 5 | 人氣 0 | 評價 0 | 評價/貼文 0 | 送出評價 0 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2011/8/10 上午 11:36:50
就算單獨測試下面這行也是錯誤

query 試 run

SELECT 11 as icid,cardid,(ISNULL(CONVERT(SUBSTRING(temployee.accdoor,((11-1)*4+1),4),16,10),0)

語法和函數使用 都查過是正確的,就是有錯而且錯的不明不白,完全沒有可用的資訊參考

請問各方高手是否有任何可用的訊息可以參考,萬分謝謝!
作者 : morca67(morca)
[ 貼文 5 | 人氣 0 | 評價 0 | 評價/貼文 0 | 送出評價 0 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2011/8/10 上午 11:52:30
感謝您的意見,試了另一個 try 方法,他出現了下面的錯誤訊息


訊息 170,層級 15,狀態 1,行 5
行 5: 'temployee' 附近的語法不正確。

但…還是不了解錯誤在那裡… 煩請幫幫忙了,謝謝
 板主 : 徵求中
 > SQL Server 7/2000 - 討論區
 - 最近熱門問答精華集
 - 全部歷史問答精華集
 - SQL Server 7/2000 - 知識庫
  ■ 全站最新Post列表
  ■ 我的文章收藏
  ■ 我最愛的作者
  ■ 全站文章收藏排行榜
  ■ 全站最愛作者排行榜
  ■  月熱門主題
  ■  季熱門主題
  ■  熱門主題Top 20
  ■  本區Post排行榜
  ■  本區評價排行榜
  ■  全站專家名人榜
  ■  全站Post排行榜
  ■  全站評價排行榜
  ■  全站人氣排行榜
 請輸入關鍵字 
  開始搜尋
 
Top 10
評價排行
SQL Server 7/2000
1 小朱 1540 
2 小台 1520 
3 Gordon 600 
4 ㄉ一ˊㄎㄜˋ 580 
5 路人 490 
6 max 470 
7 william 410 
8 Aries 250 
9 阿利 180 
10 羅啟章 160 
SQL Server 7/2000
  專家等級 評價  
  一代宗師 10000  
  曠世奇才 5000  
  頂尖高手 3000  
  卓越專家 1500  
  優秀好手 750  
Microsoft Internet Explorer 6.0. Screen 1024x768 pixel. High Color (16 bit).
2000-2018 程式設計俱樂部 http://www.programmer-club.com.tw/
0.0625