簡體   English   中英

創建表-SQL Oracle

[英]Create table - SQL Oracle

我需要創建表,該表應該稱為“其他”。 我只需要名稱以任何其他字母開頭但不以K開頭的員工

我這樣寫:

CREATE TABLE others AS select * from employees WHERE last_name no like 'K%';

我發現sthg喜歡這個主意,但是沒有用

我收到有關語法的錯誤信息。 你能幫助我嗎? 第二個問題:還有其他寫方法嗎?

嘗試這個

CREATE TABLE others  AS (SELECT *
      FROM employees 
      WHERE last_name  NOT LIKE 'K%');

正如@jarlh在他的評論中所說,視圖將達到相同的目的,但是數據將只存儲一次而不是兩次,從而節省了磁盤空間。 您可以將視圖定義為

CREATE OR REPLACE VIEW OTHERS AS
  SELECT *
    FROM EMPLOYEES
    WHERE LAST_NAME NOT LIKE 'K%';

祝你好運。

我建議只使用字符串函數。 有兩種方法:

WHERE SUBSTR(last_name, 1, 1) <> 'K'

要么:

WHERE last_name < 'K' or last_name >= 'L'

盡管您可以REGEXP_LIKE()使用LIKEREGEXP_LIKE() ,但我喜歡這種更簡單的方法。

暫無
暫無

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

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