可以试试SPL:
代码说明:
A1:第一步连接数据库
A2:第二步提取数据做预处理
A3:第三步实现 unpivot
A4:第四步分组
A5:第五步创建新序表。计算结果如下图,二者是一样的(在排序上可能略有差异):
MySQL里引用字符串常量时需要用一对英文单引号“ ' ”或英文双引号“ " ”将字符串常量常量括起来。例如:
'an apple'
"a book"
一般应使用英文单引号,如果字符串内需要包含单引号时,除了使用转义的办法外,我们可以选用一对双引号来包括字符串,这样字符串内的单引号被视作普通字符,无需特殊处理。
例如 Johnson's mother
select "Johnson's mother",'Johnson''s mother','Johnson\'s mother'
与单引号对应,使用英文双引号引用的字符串内需要包含双引号时,除了使用转义的办法外,我们可以用一对单引号来包括字符串,这样字符串内的双引号被视作普通字符,无需特殊处理。
例如 He said: "Go away"
select 'He said: "Go away"' ,"He said: ""Go away""" ,"He said: \"Go away\""
MySQL里使用一对反勾号“ ` ”将识别符括起来,一般情况下可以不用,单是如果识别符出现关键字冲突或标识符的写法可能产生歧义的情况下就必须使用。例如:
create table t1 (id int primary key ,desc varchar(10))-- 这句会报错
create table t1 (id int primary key,`desc` varchar(10))-- 这句客成功运行
另外,如果SQL服务器模式包括ANSI_QUOTES模式选项,还可以用双引号替代反勾号将识别符括起来:
mysql>CREATE TABLE "test" (col INT) ERROR 1064: You have an error in your SQL syntax. (...)mysql>SET sql_mode='ANSI_QUOTES'mysql>CREATE TABLE "test" (col INT)Query OK, 0 rows affected (0.00 sec)
之前报错,设置SQL服务器模式包括ANSI_QUOTES模式后,运行成功。
mysql 转义\' 单引号(‘'’)。
\" 双引号(‘"’)。
oracle 转移
''单引号(‘'’)。两个单引号 表示一个 单引号
'"' 双引号(‘"’)。两个单引号 中间一个双引号 表示一个双引号
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)