我想匹配不同表中的列,使用SYSDATE
將它們匹配到今天的日期。輸出實際上是在所有行上用當天日期填充日期列,而不是實際上具有今天日期的一行。Oracle Sql匹配日期列到sysdate錯誤
SELECT building.building_code,
building.building_name,
room_booking.booking_date
FROM building,
room_booking,
dual
WHERE to_date(booking_date) = trunc(sysdate)
輸出爲:
BUILDING_CODE BUILDING_NAME BOOKING_DATE
------------- --------------- ------------
A ARCADIA <17-mar-13>
B BELIZE <17-mar-13>
C CAMDEN <17-mar-13>
D DENVER <17-mar-13>
E EXETER <17-mar-13>
F FORT PORTAL <17-mar-13>
G GRAMPIAN <17-mar-13>
H HELVITICA <17-mar-13>
I INVICTA <17-mar-13>
J JULIET <17-mar-13>
10 rows selected
應該有隻有一個結果行,因爲只有1與今天的變化更新了一行。我哪裏錯了?
您需要兩個表上的連接條件(並且不需要'dual')。 – Mat 2013-03-17 14:24:27
感謝墊 - 雙現在刪除 – 2013-03-17 15:07:29
爲什麼你有'TO_DATE'在'booking_date'附近?它是一個字符串嗎? – 2013-03-18 06:20:47