[英]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.