none
sql server 2005資料庫資料庫不會判動空白值 RRS feed

  • 問題

  • 請問版主:在sql server 2005下sql語法 如查詢條件下900800212 但900800212空白       的單號也會出現

     select * 
    FROM [DW2].[dbo].[armd]
    where num_armm='900800212 '
    2009年6月10日 上午 06:19

解答

所有回覆

  • Lwu:
        你的問題是什麼?是查詢的結果要排除帶空白字元的資料嗎 ?有一種方法是利用DATALENGTH函數
      select * 
    FROM [DW2].[dbo].[armd]
    where num_armm='900800212' AND DATALENGTH(num_armm)=DATALENGTH('900800212')
    2009年6月10日 上午 08:03
  • 這樣看起來不就是您存在著num_armm='900800212 '的資料嗎???
    實際欄位裡可能就有空白吧
    2009年6月10日 下午 04:26
  • select * 
    FROM [DW2].[dbo].[armd]
    where LEFT(num_armm,9)='900800212'
    上述範例用來取得單號為900800212 與900800212 空白等兩筆資料。


    select * 
    FROM [DW2].[dbo].[armd]
    where num_armm like '%900800212%'
    上述範例用來取得900800212 、空白900800212空白、空白900800212與900800212空白等資料。

    2009年6月11日 上午 01:45
    版主
  • 會舉上述例子是因為num_armm=900800212 及 num_armm=900800212空白在orcl會視為兩筆資料,但用轉入sql server因為sql server會將num_armm=900800212 及 num_armm=900800212空白皆視為900800212,所以轉入時會唯反唯一,所以才請問是否sql server資料庫再安裝時需要特別設定嗎?不然怎麼不會判斷

    2009年6月11日 上午 07:56
  • 感覺這個問題牽涉到來源資料的格式?? 是Oracle嗎?
    及轉檔的方式,您是用何種方式做轉檔呢??

    也許真的有某個環節系統做了去空白的動作,但主要還是看您上述二個問題答案為何?
    而這樣看起來,您是希望二筆資料都轉進去對嗎??

    我的猜測有可能在某個環節下,轉檔的動作去做了去空白的行為

    2009年6月11日 上午 09:10
  • 1.我用SSIS工具轉入,沒錯我是希望二筆資料都轉進去
    2.我在SQL SERVER 測試,如某個欄位打入A另一筆打入A空白,再用SQL指令查詢那個欄位值等於A的資料,結果會帶出A及A空白兩筆,所以我猜SQL SERVER不會判斷空白

    麻煩您囉,謝謝!
    2009年6月11日 上午 09:16
  • 您的欄位型態為何???
    不然就是先把PK拿掉,先全部進去再處理囉
    2009年6月12日 上午 02:41
  • 1.資料型態為文字
    2.把PK值拿掉讓全部資料轉入不是長久之計,因為透過SSIS轉資料是每天要執行的
    2009年6月12日 下午 12:29
  • 我知道是文字,只是進一步想了解是char,varchar,nchar,nvarchar ???
    另外,這裡似乎有提到
    SQL Server會將VARCHAR欄位後方的空白自動RTRIM掉,也許就是您的問題吧
    如果是一樣情況,可能就沒法吧
    http://blog.darkthread.net/blogs/darkthreadtw/archive/2008/09/03/two-oracle-linked-server-tips.aspx
    參考看看
    2009年6月26日 上午 06:50
  • 欄位資料型態是nvarchar,抱歉您提供的連結似乎有問題連不上ㄟ
    2009年6月29日 上午 03:19
  • 原因是因為 ANSI_PADDING 設定,不過這與資料欄位的型別有關係,詳情請參考:SET ANSI_PADDING (Transact-SQL)
    ☞ 這裡是「免費的討論區」付費支援服務請造訪 此處享受尊榮服務
    如果回覆對您有幫助,請記得按下標示為解答」
    2009年7月19日 上午 11:08
    版主