给视图创建索引时,如果里面有datetime类型,在转换成字符串时,必须符合SQL Server的显式转换标准,否则会报错:该视图包含不精确或不具有确定性的转换。
Cannot create index on view "tms.dbo.v_batch_master_index". The view contains a convert that is imprecise or non-deterministic.
SELECT t.product_code,t.product_name,t.batch_no,stock_type,expiry_date = CONVERT(VARCHAR(10),t.expiry_date,23)
FROM dbo.t_im_batmas t
INNER JOIN dbo.product p ON t.product_code = p.product_code
CONVERT(VARCHAR(10),t.expiry_date,23)不符合要求,应该用这种写法
SELECT t.product_code,t.product_name,t.batch_no,stock_type,expiry_date = CONVERT(VARCHAR(10),t.expiry_date,120)
FROM dbo.t_im_batmas t
INNER JOIN dbo.product p ON t.product_code = p.product_code
SQL Convert规范