寫個小的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)