✨ **feat**(data_downloader.py): 新增`perform_full_update`与`perform_incremental_update`函数以支持全量与增量更新 ♻️ **style**(data_downloader.py): 添加完整函数文档与空值处理,提升代码可读性与容错性
17 lines
945 B
SQL
17 lines
945 B
SQL
-- 更新股票元数据信息
|
|
UPDATE stock_metadata
|
|
SET
|
|
last_full_update = NOW(),
|
|
data_start_date = CASE WHEN '{data_start_date}' = 'NULL' THEN NULL ELSE '{data_start_date}' END,
|
|
data_end_date = CASE WHEN '{data_end_date}' = 'NULL' THEN NULL ELSE '{data_end_date}' END,
|
|
record_count = {record_count},
|
|
status = CASE
|
|
WHEN {record_count} > 0 THEN 1 -- 有数据,状态为正常
|
|
ELSE 2 -- 无数据,状态为异常
|
|
END,
|
|
latest_price = CASE WHEN '{latest_price}' = 'NULL' THEN NULL ELSE {latest_price} END,
|
|
latest_date = CASE WHEN '{data_end_date}' = 'NULL' THEN NULL ELSE '{data_end_date}' END,
|
|
latest_pe_ttm = CASE WHEN '{latest_pe_ttm}' = 'NULL' THEN NULL ELSE {latest_pe_ttm} END,
|
|
latest_pb = CASE WHEN '{latest_pb}' = 'NULL' THEN NULL ELSE {latest_pb} END,
|
|
latest_total_mv = CASE WHEN '{latest_total_mv}' = 'NULL' THEN NULL ELSE {latest_total_mv} END
|
|
WHERE ts_code = '{ts_code}' |