||LEFT('''||P_MONTH||''',4)||要上一年在存储里面怎么写
时间: 2024-01-29 22:10:28 浏览: 109
根据你提供的引用内容,我理解你的问题是关于在存储中如何写入一个表达式`||LEFT('''||P_MONTH||''',4)||`的上一年的值。
要在存储中写入`||LEFT('''||P_MONTH||''',4)||`的上一年的值,你可以使用SQL中的日期函数和运算符来实现。具体的方法取决于你使用的数据库类型。
以下是一些常见数据库类型的示例:
1. MySQL:
```sql
SELECT YEAR(DATE_SUB(DATE_FORMAT(P_MONTH, '%Y-%m-%d'), INTERVAL 1 YEAR)) AS previous_year
FROM your_table;
```
2. Oracle:
```sql
SELECT TO_CHAR(ADD_MONTHS(TO_DATE(SUBSTR(P_MONTH, 1, 4) || SUBSTR(P_MONTH, 6, 2) || SUBSTR(P_MONTH, 9, 2), 'YYYYMMDD'), -12), 'YYYY') AS previous_year
FROM your_table;
```
3. SQL Server:
```sql
SELECT DATEPART(YEAR, DATEADD(YEAR, -1, CONVERT(DATE, LEFT(P_MONTH, 4) + SUBSTRING(P_MONTH, 6, 2) + SUBSTRING(P_MONTH, 9, 2), 112))) AS previous_year
FROM your_table;
```
请根据你使用的数据库类型选择适合你的方法,并将`your_table`替换为你的表名。
阅读全文