簡體   English   中英

在varchar字符串之后強制轉換為“-”,然后左鍵聯接另一個表sql

[英]Cast a “-” after a varchar string and then left join another table, sql

我目前在SQL Server Visual Management Studio 2012中工作。我有2個表。 Table1有2欄; PartNumber as varchardateordered as smalldatetime Table2有兩列, PartNumber as varchartime as float table1上的部件號長9位,看起來像是'999999999.' table2零件號的末尾有一個額外的"-" ,看起來像是'999999999-.' 我需要在表table1的零件號的末尾添加"-" ,然后將其交叉引用到表2並獲取時間列。

SELECT Right('9', cast(varchar, PartNumber)) as PartNumber 
from table1  
  Left Join table2 on table1.partnumber = table2.partnumber 
where DateOrdered BETWEEN ('2015-01-01 00:00:00.000') AND ('2015-05-11 00:00:00.000') 
  AND PartNumber IS NOT NULL

-----------------更新新代碼-----------

select table1.partnumber, table2.time from table1 left join table2 on
table2 + '-' = table1.partnumber
where DateOrdered IS NOT NULL

不太確定您的問題,但這不起作用嗎?:

table1.partnumber + '-' = table2.partnumber  

(不是最優雅的做事方式)

因此,您的問題是table1.partnumber (999999999)table2.partnumber (999999999-)因此您的JOIN子句無法正常工作。 如果是這樣,那么您可以像這樣進行JOIN

Left Join table2 on table2.partnumber LIKE table1.partnumber+'-'

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM