需要SQL查询才能将字母附加到整数列 我的样本数据就像
+--------+----------+--------+
| Number | Date | amount |
+--------+----------+--------+
| 135 | 20160901 | $10 |
| 135 | 20160912 | $20 |
| 135 | 20160915 | $30 |
+--------+----------+--------+
需要如下输出,结果应基于日期
+--------+--------+
| Number | amount |
+--------+--------+
| 135X | $10 |
| 135XX | $20 |
| 135XXX | $30 |
+--------+--------+
X在第一个记录中附加一次,因为记录是一个月中的第一个事务,XX是秒,因为它是第二个事务,依此类推,需要根据事务的次数附加X的'N'否发生在一个月之内。
请建议
答案 0 :(得分:4)
这是一种方法:
select (cast(number as varchar(255)) +
replicate('X', row_number() over (partition by number, year(date), month(date) order by date)
)
) as number,
amount
from t;
您可以使用类似的逻辑来更新Number
列,假设它是一个名称不正确的字符串列。