我在SQL Server梟雄Studio的2014年工作從columnconcat從三個表+ lpad裏面獲取最小值。 MS SQL
在我的工作,我有三個表,每個包含2列,一個日期時間加上準確的日期(但時間包含)項目和另一個 - 包含時間的smallint(8:55是855的值,而14:45是1445)。
我想要做的是從所有這三個表中的這兩列合併得到最小值。
我有什麼弄明白由我自己到現在爲止是:
使用
lpad("U_StartTime", 0, '4')
來填補像855的值到0855(用於精確比較)。然而lpad
在我的工作室無法識別。lpad
無法識別內置函數然後我可以合併這樣既列:
SELECT concat("U_StartDate", ' ', "U_StartTime") FROM "TABLE1".
這是確定的,直到我嘗試用
lpad
做到這一點。然後我可以採取所有值考慮這樣的:
SELECT concat("U_StartDate", ' ', "U_StartTime") FROM "TABLE1" UNION SELECT concat("U_StartDate", ' ', "U_StartTime") FROM "TABLE2" ...
而且我可以採取
MIN(column)
,但我不知道如何從整體UNION SELECT
的(這三個表)得到MIN
。
非常感謝您對我當前的sql問題提出的任何建議。
編輯: 我已經改變了一點。現在我正在修改日期時間對象,而不是處理字符串比較。至於有人一個例子,我貼的代碼的一部分:
select DATEADD(minute, "U_StartTime"%100, DATEADD(hour, "U_StartTime"/100, "U_StartDate")) from "TABLE1"
而不是
select MIN(concat("U_StartDate", ' ', RIGHT('0000' + "U_StartTime", '4'))) from "TABLE1"
請舉例說明,而不是文字並表現出一定的輸入和預期的輸出 – TheGameiswar
,除非你想查詢運行在這兩種 – TheGameiswar