簡體   English   中英

Mysql VIEW 具有顯式列數據類型?

[英]Mysql VIEW with explicit column datatype?

如何在mysql view中設置列的數據類型?

以下是不正確的:

CREATE VIEW person_view AS
SELECT 'Test' AS VARCHAR(20) person_firstname,
       person.age AS int(2) person_age
FROM person;

表人:

#firstname, lastname, age
john, doe, 8
jane, doe, 5

示例數據將觸發生成VARCHAR(4) for firstname 和int(1) for age。 但實際上我想為視圖中的那些列支持VARCHAR(20)int(2)

嘗試使用 CAST 或 CONVERT

CREATE VIEW myview AS SELECT CAST('Test' AS VARCHAR(20)) Column1 FROM mysource;

視圖只是位於定義它的基礎表之上,因此視圖通常不允許我們更改表定義。 例如,如果您想創建一個僅包含某些可能較大的varchar列的前 20 個字符的視圖,則可以使用LEFT來執行此操作,例如

CREATE VIEW yourView AS (
    SELECT LEFT(some_col, 20) AS some_col_short
    FROM mysource
)

但即使在這里,我們也沒有改變表的定義,只是改變了基礎數據的查看方式。

暫無
暫無

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

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