写个小的script做SQL,然后把SQL的output pipe 到awk,让awk script帮你排output,如下:
mySqlScript "select * from abc where name='jack'" | \
awk '{
for(i=1;i<=NF;i++) {
printf("%s ",$i);
}
} END {print;}'
附mySqlScript的范本给你参考:
if [ $# -ne 1 ]
then
echo "Usage: $0 \"<sql_cmd>\""
exit 1
fi
cmd=$1
function sqlCmd {
login_info="$1"
$ORACLE_HOME/bin/sqlplus -s "$login_info" <<!
set heading off
set feedback off
set pagesize 0
set linesize 1024
$cmd;
!
}
sqlCmd sql_login_id/sql_password
2. sql怎么根据字段长度和大小排序
可以参考下面的代码:
select * from 表 order by len(字段);长度,由短到长
select * from 表 order by len(字段)desc;长度,由长到短
select * from 表 order by 字段;大小,由小到大
select * from 表 order by 字段 desc;大小,由大到小
(2)sql怎么大小排版扩展阅读:
sql参考语句
更新:update table1 set field1=value1 where 范围
排序:select * from table1 order by field1,field2 [desc]
求和:select sum(field1) as sumvalue from table1
平均:select avg(field1) as avgvalue from table1
3. 如何用sql server 2000语句中对一组数据进行大小排序并排名
由于你说得不是很详细,这样吧,我给你一个例子,你参考参考:
--题目:
--2.id name subject num
-- 1 小五 语文 70
-- 2 小五 数学 80
-- 3 小白 语文 72
-- 4 小白 数学 72
-- 5 小白 外语 72
--要查出如下:
--姓名 语文 数学 外语
--小五 70 80 0
--小白 72 72 72
create table marks
(
id int identity(1,1) primary key,
[name] nvarchar(30) not null,
subject nvarchar(30) not null,
num int
)
insert into marks(name,subject,num)
values('小五','语文',70);
insert into marks(name,subject,num)
values('小五','数学',80);
insert into marks(name,subject,num)
values('小白','语文',72);
insert into marks(name,subject,num)
values('小白','数学',72);
insert into marks(name,subject,num)
values( '小白','外语',72);
select * from marks
select distinct name 姓名,
isnull((select num from marks where name=a.name and subject='语文'),0) 语文,
isnull((select num from marks where name=a.name and subject='数学'),0) 数学,
isnull((select num from marks where name=a.name and subject='外语'),0) 外语
from marks as a
4. 怎么美化sql排版
不嫌麻烦,就用sql自带的,按照网络图解教程去设置吧
嫌麻烦,就用SQL Prompt插件,下载安装都不费事,安装后,你选中需要格式化的sql,右键,选择format sql,如果不选中,格式化的是所有sql
小提示:SQL Prompt可以查看加密存储过程噢0.0 打开一个新的查询分析器,将家吗存储过程名称写在查询分析器中,右键,选择Script Object As Alter,就可以得到存储过程源码
5. SQL怎么改变数据库的大小用代码
不能改小。
只能改大。
可以增加数据设备文件或者扩大已有设备文件的大小。
--初始化一个100m的设备test_dev
disk
init
name
='test_dev'',physname='c:\sybase\data\test_dev.dat',size='100m'
或者
--给设备test_dev扩大200m的空间
disk
resize
name='test_dev',size='200m'
为数据库增加100m的空间
alter
database
test
on
test_dev='100m'
6. sql 如何根据总大小分组排序
--建表
CreateTableT
(
AVarchar(10),
BVarchar(10),
CVarchar(10),
Dint
)
--插入数据
insertintoTvalues('a','cd','cd2',1)
insertintoTvalues('a','cd2','cd2',2)
insertintoTvalues('a','cd4','cd2',1)
insertintoTvalues('B','cd4','cd5',52)
insertintoTvalues('B','cd7','cd5',5)
insertintoTvalues('C','cd7','cd8',105)
insertintoTvalues('C','cd8','cd9',107)
--查询(MSSQL2008)
--已A分组求得最大值,再按该值降序排列
SelectA,B,C,DFrom
(
Select*,MAX(D)over(partitionbyA)ASEfromT
)S
OrderbyEDesc,DDesc
7. sql 怎么按照数字的大小排序
把级去了,转成ascii码,除了10以上的,应该可以排。。。。。再简洁点,建个对应表。。。再再简洁点。。。存数字。
8. navicat sql怎么自动排版
设置
SQL
格式:
要改变
SQL
语句格式,从“格式”菜单选择。
缩排:为已选择的代码行增加或减少缩排。
注释:注释或取消注释已选择的代码行。
转换大小写:格式化已选择的代码为大写或小写。
美化
SQL(只限于完整版本):格式化已选择的代码,美化
9. sql怎么修改表字段的大小
alter table <表名> alter column <字段名> 新类型名(长度)
示例:假如有名T1,字段名F1,原来F1为varchar(3),现在要改为varchar(10),则可以这么写:
alter table T1 alter column F1 varchar(10)
一般地,改字段名可以用这条语句:
alter table A rename column a to c
但是,实际应用中,我们往往是用J-SQL进行编译,而J-SQL不支持修改字段名,所以,如果一定要修改字段名,那么只有通过变通的方法了,具体思路为:
1.新建一个字段,取名为c;
2.将字段a的内容拷贝到c;
3.删除字段a;
sql修改字段长度的语法:
alter table 表名 modify 字段名 字段类型;
sql修改字段长度的示例代码
alter table qtline modify qtl_bidernote VARCHAR2(4000);
标准SQL,对任何数据库都适用
alter table fzrtmis.reporttemplate modify REPNAME varchar(100);
修改字段名名称
ALTER TABLE TABLENAME RENAME COLUMN COL1 TO COL2;
添加字段
alter table fzrtmis.itiembuildqk add STATIONSTATE CHAR(1)