只有这两种情况吗 你可以从后面截取判断啊
截后六位 判断 是人民币 还是 万美元不就好了吗
截完之后 就可以分别截取判断了啊
举个栗子:
jiequreneirong=substr(column,1,length(column)-6)
case when jiequneirong='人民币' then substr(column,1,length(column)-6) end as num
, case when jiequneirong='人民币' then substr(column,length(column)-6,6) end as type
我只是给个思路哈
呵呵,这个还不好办么,你写的语句类似这个吧 我用C++语法给你写吧,希望能给你点提示
int a;
a=x_id%9
CString tbl_name
tbl_name="A_"+a;
CString Sql;
Sql="select from" + tblname;
参考语句:
select code,
sum(case when play_id=1 then cnt else 0 end ) play_id01,
sum(case when play_id=1 then cnt else 0 end ) play_id02,
sum(case when play_id=1 then cnt else 0 end ) play_id03
form 表
group by code
省和市之间是有 空格分隔的对吗?
如果是的话 你可以截取啊
先判断空格的位置 position(' 'in column_name)
再截取字符串就可以了
substr(column_name,1,position('' in column_name)) --省
substr(column_name,position('' in column_name)+1) --市
可以看下时间函数
对日期时间进行加减法运算
(ADDDATE()和SUBDATE()是DATE_ADD()和DATE_SUB()的同义词,也可以用运算符 和-而不是函数
date是一个DATETIME或DATE值,expr对date进行加减法的一个表达式字符串type指明表达式expr应该如何被解释
[type值 含义 期望的expr格式]:
SECOND 秒 SECONDS
MINUTE 分钟 MINUTES
HOUR 时间 HOURS
DAY 天 DAYS
MONTH 月 MONTHS
YEAR 年 YEARS
MINUTE_SECOND 分钟和秒 "MINUTES:SECONDS"
HOUR_MINUTE 小时和分钟 "HOURS:MINUTES"
DAY_HOUR 天和小时 "DAYS HOURS"
YEAR_MONTH 年和月 "YEARS-MONTHS"
HOUR_SECOND 小时, 分钟, "HOURS:MINUTES:SECONDS"
DAY_MINUTE 天, 小时, 分钟 "DAYS HOURS:MINUTES"
DAY_SECOND 天, 小时, 分钟, 秒 "DAYS HOURS:MINUTES:SECONDS"
expr中允许任何标点做分隔符,如果所有是DATE值时结果是一个DATE值,否则结果是一个DATETIME值)
如果type关键词不完整,则MySQL从右端取值,DAY_SECOND因为缺少小时分钟等于MINUTE_SECOND)
如果增加MONTH、YEAR_MONTH或YEAR,天数大于结果月份的最大天数则使用最大天数)
mysql> SELECT "1997-12-31 23:59:59" INTERVAL 1 SECOND;
-> 1998-01-01 00:00:00
mysql> SELECT INTERVAL 1 DAY "1997-12-31";
-> 1998-01-01
mysql> SELECT "1998-01-01" - INTERVAL 1 SECOND;
-> 1997-12-31 23:59:59
mysql> SELECT DATE_ADD("1997-12-31 23:59:59",INTERVAL 1 SECOND);
-> 1998-01-01 00:00:00
mysql> SELECT DATE_ADD("1997-12-31 23:59:59",INTERVAL 1 DAY);
-> 1998-01-01 23:59:59
mysql> SELECT DATE_ADD("1997-12-31 23:59:59",INTERVAL "1:1" MINUTE_SECOND);
-> 1998-01-01 00:01:00
mysql> SELECT DATE_SUB("1998-01-01 00:00:00",INTERVAL "1 1:1:1" DAY_SECOND);
-> 1997-12-30 22:58:59
mysql> SELECT DATE_ADD("1998-01-01 00:00:00", INTERVAL "-1 10" DAY_HOUR);
-> 1997-12-30 14:00:00
mysql> SELECT DATE_SUB("1998-01-02", INTERVAL 31 DAY);
-> 1997-12-02
mysql> SELECT EXTRACT(YEAR FROM "1999-07-02");
-> 1999
mysql> SELECT EXTRACT(YEAR_MONTH FROM "1999-07-02 01:02:03");
-> 199907
mysql> SELECT EXTRACT(DAY_MINUTE FROM "1999-07-02 01:02:03");
-> 20102
TO_DAYS(date)
返回日期date是西元0年至今多少天(不计算1582年以前)
mysql> select TO_DAYS(950501);
-> 728779
mysql> select TO_DAYS('1997-10-07');
-> 729669
FROM_DAYS(N)
给出西元0年至今多少天返回DATE值(不计算1582年以前)
mysql> select FROM_DAYS(729669);
-> '1997-10-07'
思路: 将单位为1000001的记录全部存入新表ss,然后将ac01中含有的单位为10000001的记录全部删除
SELECT from ac01 where 单位="10000001" into table ss
close table all
use ac01 in 0 excl
delete from ac where 单位="10000001"
pack
以上就是关于在数据库的表中写一个sql把已有字段对应的值 拆分为多个字段全部的内容,包括:在数据库的表中写一个sql把已有字段对应的值 拆分为多个字段、mysql数据库一表拆分多表、sql数据库表的拆分等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)