我有一個包含一個開始日期,結束日期單個數據庫字段,並且排除在形式如何解析字符串和SQL創建行(Postgres的)
available DD/MONTH/YYYY [to DD/MONTH/YYYY]?[, exclude WORD [, WORD]*]?
總是意味着它開始以「提供DD/MONTH/YYYY「,可以有一個單獨的」DD/MONTH/YYYY「,並且可以有一個排除子句,它是逗號分隔的字符串列表。想想正則表達式對於+,*和?
我的任務是提取數據,因此我們現在將有一個「startdate」列,「enddate」列和一個包含排除項的新表。它需要使用從可用性字符串解析的值填充startdate和enddate列。它還需要在新的排除表中創建多個記錄,每個逗號分隔值在可用性字符串中的「排除」關鍵字之後。
這是一個只能在SQL中執行的遷移(postgres 8.4)嗎?
這是針對postgres 8.4。
更新:在同事的幫助下,我們現在有了一個sql腳本,它的結果sql基於排除的解析執行插入語句。它在sql中使用一堆case語句和字符串操作來生成結果。然後我將輸出發送到一個文件並執行該文件來執行插入。我對開始日期和結束日期列做了相同的處理。
這不是100%的sql,而是一個運行第一個.sql文件的簡單.bat或.sh文件,然後生成的文件就是所需的全部內容。
感謝您的意見。
是否會有一個表上的id,startdate和enddate是一個外部排除表上的鍵? – rfusca 2009-07-22 04:43:17
是的,具有startdate和enddate的實體有一個id,它與排除有許多關係,所以有兩個連接表。 – digitaljoel 2009-07-22 19:32:47