2017-04-10 28 views
0

我需要編寫一個SQL語句,其中表中的內容由empid,event,date等列組成。現在事件由一些包含字符串éntry'的數據組成,第二行將包含éxit'。我知道如何使用alter命令創建一個新列。但我不知道如何捕獲其中有éntry'oréxit'的事件列數據?有人能指導我解決這個問題嗎?我的任務是創建一個新的列,並添加事件列中的ÉNTRY'or'EXIT'的子字符串數據?如何查找子字符串值並將其複製到另一列中SQL

Empid | Event   | Date 
------+------------------+------ 
    1 | BLOCK-ENTRY  | 01-03-2017 
    2 | BLOCK-EXIT-DOOR | 01-03-2017 
    3 | BLOCK-DOOR-ENTRY | 01-03-2017 

這是表格式,我創建了一個列

alter table tablename 
    add newevent varchar(10) 

這之後,我不得不從事件列和更新到newevent獲得進入」或‘’EXIT'value列

+0

我試圖在上面的問題 –

回答

0
update yourtablename 
set neweventcolumn = case when event like '%ENTRY%' then 'ENTRY' 
when event like '%EXIT%' then 'EXIT' end 

類似謂詞會根據您的要求而改變。

0

您可以使用下面的SQL查詢,它將爲您提供'Entry'或'Exit'作爲第4列,然後您可以在您的newevent列中使用它。

Select 
    empid, 
    event, 
    date, 
    CASE 
     When CHARINDEX('ENTRY', dbo.TableABC.event) > 0 Then 'ENTRY' 
     When CHARINDEX('EXIT', dbo.TableABC.event) > 0 Then 'EXIT' 
    ELSE 'No Event' 
    END AS 'Event Type' 
From TableABC 

希望這會有所幫助。

+0

它添加表值和修改命令它解決了這個問題謝謝 –

相關問題