sql格式轉化
A. 將.sql文件轉換成.mdf文件
您好,這樣的:
我想在這里 先讓你理解一下兩個文件的區別
.sql 是包含一些sql語句的文件 例如:insert into tab_name valus(11) 等
.mdf文件 是數據文件 一個資料庫(例如名稱是 db_name)有兩部分組成 一是數據文件(.mdf做後綴) 二是日誌文件(.log 做後綴)
這里你所說的 「用企業管理器-打開.sql文件,然後點執行」也是錯誤的 ,應該是「用查詢分析器-打開.sql文件,然後點執行」如果想生成.mdf的文件,那該.sql文件中應包含create database(創建資料庫)的語句。
將文件(.sql格式)在sql工具中打開(可以直接雙擊打開),
點擊上面的「執行」按鈕,就可以創建.mdf格式的資料庫。
B. 如何將sql格式的文件轉換成word
一、准備工作
首先請確認服務端已經安裝了Office Word(以下將以Office XP為例),操作系統為win2000或XP,並且已配置好.NET的運行環境及安裝VS.NET C#開發環境後,就可以打開VS.NET,並新建一個Visual C#項目ASP.NET Web應用程序,位置為「」。
二、引用Word對象庫文件
要操作Word,就需要Word的對象庫文件「MSWORD.OLB」(word 2000為MSWORD9.OLB),通常安裝了Office Word後,就可以在office安裝目錄的Office10文件夾下面找到這個文件,當將這個文件引入到項目後,就可以在源碼中使用各種操作函數來操作Word。具體做法是打開菜單欄中的項目添加引用瀏覽,在打開的「選擇組件」對話框中找到MSWORD.OLB後按確定即可引入此對象庫文件,vs.net將會自動將庫文件轉化為DLL組件,這樣我們只要在源碼中創建該組件對象即可達到操作Word的目的!
三、Webform1.aspx.cs代碼
完成添加引用後,MSWORD.OLB已經轉化為相關DLL文件並放置於項目的BIN目錄下了,這樣我們只需在源碼中創建該對象,並使用word庫文件內置的操作函數即可輕松實現操作Word。
四、web.config設置
web.config文件還需添加一句 identity impersonate="true"/以啟用模擬身份,因為默認ASPNET這個用戶是沒有許可權訪問Word.ApplicationClass(),當啟用模擬身份後所有頁面將會使用匿名Internet用戶帳戶(IUSR_machinename)這個用戶名的許可權執行,這樣就能成功訪問Word.ApplicationClass()並在ASP.NET中操作Word!
//傳文檔所在晌前路徑 返迴文檔內容
public string Doc2Text(string docFileName)
{
//實例化COM
Microsoft.Office.Interop.Word.ApplicationClass wordApp = new Microsoft.Office.Interop.Word.ApplicationClass();
object fileobj = docFileName;
object nullobj = System.Reflection.Missing.Value;
/芹毀/打開指定文件嫌謹備(不同版本的COM參數個數有差異,一般而言除第一個外都用nullobj就行了)
Microsoft.Office.Interop.Word.Document doc = wordApp.Documents.Open(ref fileobj, ref nullobj, ref nullobj,
ref nullobj, ref nullobj, ref nullobj,
ref nullobj, ref nullobj, ref nullobj,
ref nullobj, ref nullobj, ref nullobj, ref nullobj, ref nullobj, ref nullobj, ref nullobj
);
//取得doc文件中的文本
string outText = doc.Content.Text;
//關閉文件
doc.Close(ref nullobj, ref nullobj, ref nullobj);
//關閉COM
wordApp.Quit(ref nullobj, ref nullobj, ref nullobj);
//返回
return outText;
}
在讀取的時候會有損壞的文件 和被加密的文件等問題 總之C#和office的兼容性不太好,別忘了要引用word的dll,引用文件夾 右鍵添加引用 在組件里找Microsoft.Office.Interop.Word
讀出了word文檔再把它寫入sql server資料庫就可以了。
C. 資料庫SQL語句 表格式轉換
資料庫SQL語句 表格式轉改腔隱換 declare @b table(barcode varchar(10), size varchar(5), quantity int, requantity int)
declare @a table(barcode varchar(10), s1 int, s2 int, s3 int,s4 int,s5 int)
insert into @a
select '1009823',0,0,1,0,2 union
select '1009824',3,0,1,0,3 union
select '1009825',-1,2,0,3,0
select * from @a
select * from (
select barcode, 's1' as size,case when s1>0 then s1 else 0 end quantity, case when s1<0 then s1 else 0 end requantity from @a union
select barcode, 's2' as size,case when s2>0 then s2 else 0 end quantity, case when s2<0 then s2 else 0 end requantity from @a union
select barcode, 's3' as size,case when s3>0 then s3 else 0 end quantity, case when s3<0 then s3 else 0 end requantity from @a union
select barcode, 's4' as size,case when s4>0 then s4 else 0 end quantity, case when s4<0 then s4 else 0 end requantity from @a union
select barcode, 's5' as size,case when s5>0 then s5 else 0 end quantity, case when s5<0 then s5 else 0 end requantity from @a
) t
where not exists ( select 1 from (
select barcode, 's1' as size,case when s1>0 then s1 else 0 end quantity, case when s1<0 then s1 else 0 end requantity from @a union
select barcode, 's2' as size,case when s2>圓升0 then s2 else 0 end quantity, case when s2<0 then s2 else 0 end requantity from @a union
select barcode, 's3' as size,case when s3>核廳0 then s3 else 0 end quantity, case when s3<0 then s3 else 0 end requantity from @a union
select barcode, 's4' as size,case when s4>0 then s4 else 0 end quantity, case when s4<0 then s4 else 0 end requantity from @a union
select barcode, 's5' as size,case when s5>0 then s5 else 0 end quantity, case when s5<0 then s5 else 0 end requantity from @a
) t1
where t1.quantity=0 and t1.requantity=0
and t.barcode = t1.barcode and t.size=t1.size
)
order by barcode
-----------------------------------
(3 個資料列受到影響)
barcode s1 s2 s3 s4 s5
---------- ----------- ----------- ----------- ----------- -----------
1009823 0 0 1 0 2
1009824 3 0 1 0 3
1009825 -1 2 0 3 0
(3 個資料列受到影響)
barcode size quantity requantity
---------- ---- ----------- -----------
1009823 s3 1 0
1009823 s5 2 0
1009824 s1 3 0
1009824 s3 1 0
1009824 s5 3 0
1009825 s1 0 -1
1009825 s2 2 0
1009825 s4 3 0
(8 個資料列受到影響)
資料庫SQL語句
給你一個參巧一下:
查詢房費大於200的可以嘗試這樣寫SQL語句:
select * from guest where Money>200 and Details='房費'
然後是執行該SQL語句.應該可以獲取到想要的效果.其它的效果就模擬這個樣式寫就好了,要注意的一點是 字串內容查詢需要把 字串 使用單引號 括起來 比如說 '房費'這里.
以前在SQL 中寫SP 時,如比較復雜時,喜歡中間使用臨時表來暫存相關記錄,這樣的好處有很多,提高效率,提高程式的可讀性等。當然後臨時表的使用,一般均會使用使用者臨時表,即 #TempTable, 但有一些情況下,偶爾也會使用系統臨時表,即 ##TempTable。
兩種臨時表的的使用語法差不多,可用幾種方法來建立,可 Create ,也可 Select Into 。
當然關鍵的是系統臨時表和使用者臨時表的區別:(如下)
1)使用者臨時表:使用者臨時表的名稱以單個數字元號(#)開頭;
使用者臨時表只對建立這個表的使用者的Session可見,對其他程序是不可見的.
當建立它的程序消失時這個臨時表就自動刪除.
2)系統臨時表:系統臨時表的名稱以數字元號(##)開頭
全域性臨時表對整個SQL Server例項都可見,但是所有訪問它的Session都消失的時候,它也自動刪除.
明白了這些就知道了他們的用途和限制,但有一些地方還是容易出問題,故在此專門列出。
1, 在使用 Exec(SQLScript) 執行Script 時,其間也相當於單獨有一個程序處理,故執行期間內如果建立使用者臨時表的話,在執行完成後也就結束了,即執行完成後,你不可以使用在 SQLScript 中生成的使用者臨時表,可以用系統臨時表代替。
2, 在使用使用者臨時表時,有一個問題要注意,就是最好在建立時指定其使用者為 dbo ,以避免可能的問題;
3, 在使用系統臨時表時,一定要考慮到,不可以將其用於多使用者使用的環境功能或系統中,否則就可能出現沖突的問題,導致結果不可預料。
如果在多使用者使用的環境中使用系統臨時表,則可能會出現多個使用者同時對同一系統臨時表進行處理,從而導致沖突和資料的錯誤。以前沒有注意這一點,我就因此而浪費過不少的時間。
有時需要使用Exec(SQLScript)方式產生資料,但其中只能使用系統臨時表,如何處理呢?
1, 可以預先定義好一個使用者臨時表,然後使用 Insert #TempTable Exec(SQLScript) 的方式,即可將Exec 產生的結果記錄加入使用者臨時表,從而避免使用系統臨時表;
2, 從根本上避免使用 Exec() ,可用其它方式代替。
Exec() 的使用是因為有一些 Script 比較復雜,其中需要一些組合字元,如 in ('','','') 或其它可能的情況,在此情況,無法直接使用一般的Script 產生記錄,只能先產生一個組合的Script ,然後用Exec 執行
1 avg=avg(gmark)
2 student a,s-c
3 class=''10
4 sno
5 distinct sname
6 student a
7 ()
8 sno,o
9 sname Desc
10 gmark,sname
11 s-c.sno=student.sno. group by sno
12 =
13 distinct(max(mark))
14 <
15 not null
1 select * from 表名 where 部門ID = 20
2 select 員工號,員工名,部門號 from 表名 where 工種=CLERK
3 select * from 表名 where COMM>SAL
4 select * from 表名 where COMM>(SAL*0.2)
5 select * from 表名 where (部門ID = 10 and 工種=MANAGER) or(部門ID=20 and 工種=CLERK)
6 select * from 表名 where 工種!=MANAGER and 工種!=CLERK and 工資>1999
7 select 工種 from 表名 where 獎金 != null
select r.讀者編號,姓名 from Readers r
inner join Brrowinf b on b.讀者編號=r.讀者編號
where 借期='2012-1-1'
沒執行過這語句,你試試,有錯誤再貼出來我再改改
drop database 資料庫名 --刪除資料庫的
drop table 表名--刪除表的
delete from 表名 where 條件 --刪除資料的
truncate table 表名 也是刪除資料庫的.但是他可以裁斷序列 這個你跟DELETE 對照試一下就知道了
資料庫sql語句
1:
select ft.s_name
from student ft
where ft.s_id not in (select distinct
a.s_id
from chosen_class a
left join class b on a.c_id = b.c_id
where b.c_name like '%C1%'
)
;
2:
select b.c_name,
avg(a.grade) as grade_avg
from chosen_class a
left join class b on a.c_id = b.c_id
group by b.c_name
order by grade_avg desc
;
3:
select b.s_name,
count(distinct a.c_id) as class_num
from chosen_class a
left join student b on a.s_id = b.s_id
group by b.s_name
having count(distinct a.c_id) >= 2
;
這個沒辦法做,只有=999 顯示或隱藏一行。列沒地方設定。
如果一定要做,那你只能拼字串,先查一列是否有符合的,有的話就不放在select 語句中。
select count(*) from (select workerId, workerName, t1.departmentId, departmentName, telephone from worker t1 left join department t2 on t1.departmentId = t2.departmentId)
D. 在SQL語句裡面如何將字元型轉換成數字型
先檢查金額列的數據是否都符合小數規范,用cast(金額 asdecimal(10,4))>500或者
convert(decimal(10,4),金額)>500
註:decimal的長度和碧鬧小數位數根據自己需要設定
sql中將字元串數字轉換成數字:
方法一:SELECT CAST('123' AS SIGNEDinteger);
方法二:SELECT CONVERT('123',SIGNED);
方法三:SELECT '123'+0;
(4)sql格式轉化擴展閱讀:
能將字元型轉換成數字型晌慧好,就能將數字轉化為字元,對於宴鉛精確數值的數據類型,轉換出來的字元串就是我們存儲的數值。比如:
declare @i int
set @i=123456789
print 'test:'+convert(varchar(20),@i)
輸出就是:test:123456789
而如果對於近似數值的數據類型,那麼可就沒有那麼簡單了。
declare @i float
set @i=123456789
print 'test:'+convert(varchar(20),@i)
輸出結果:test:1.23457e+008
E. 在SQL語句裡面如何將字元型轉換成數字型
將字陸銷符的數字轉成數字,比如'0'轉成0可以直接用加法來實現;
例如:將pony表中的d 進行排序,可d的定義為varchar,可以這樣解決;
select * from pony order by (d+0);
在進行ifnull處理時,比如 ifnull(a/b,'0') 這樣就會導致 a/b成了字元串,因此需要把'0'改成0,即可解決此困擾;
比較數字和varchar時,比如a=11,b="11ddddd";
則 select 11="11ddddd"相等;
若絕對比較可以這樣:
select binary 11 =binary "11ddddd";
字元集轉換 : CONVERT(xxx USING gb2312);
類型轉換和SQL Server一樣,就是類型參數有點點不搜鄭同 : CAST(xxx AS 類型),CONVERT(xxx,類型);
類型必須用下列的類型:BINARY、CHAR()、DATE、TIME、DATETIME、DECIMAL、SIGNED、早漏游UNSIGNED。
F. SQL 怎麼把DD-MM-YYYY格式的轉換成YYYY/MM/DD
可以嘗試用鬧鋒掘枯以下語句來轉換:(前提是ODATE欄位是日期型date)
select to_char(ODATE,'YYYY/MM/DD') odate from 表名 where rownum=1;
如果ODATE是字元型的話,還要再轉換一道:
select to_char(to_date(ODATE,'DD-MM-YYYY'液散晌),'YYYY/MM/DD') odate from 表名 where rownum=1;
G. sql格式文件能轉換成視頻嗎
sql資料庫存放視頻是可以的,但是不推薦這么做,一般要把視頻文件困返賀以二進制流的方式寫入資料庫欄位,這樣會消耗性能,讀取也不方便。
但是現實中一般是推薦存放視頻文件路徑,比如把這種文件(圖片、音頻、視頻)保存到一個專門的路徑下, 而資料庫只保存這個文件的完整路徑即可。
調用時從資料庫中取路徑, 然後把相關的文件顯示出來即可。
(7)sql格式轉化擴展閱讀:
SQL Server資料庫包括Microsoft SQL Server以及Sybase SQL Server兩個子資料庫,該資料庫能否正常運行直接關系著整個計算機系統的運行安全。
SQL包括了所有對資料庫的操作,主要是由4個部分組成:
1、數據定義:又稱為「DDL語言」,定義資料庫的邏輯結構,包括定義資料庫、基本表、視圖和索引4部分。
2、數據操縱:又稱為「DML語言」,包括插入、刪除和更新三種操作。
3、數據查詢:又稱為「DQL語言」,包括數汪派據查詢操作。
4、數據控制:又稱為「DCL語言」,對用戶訪問數據的控制有基本表和視圖的授權及回收。
5、事務控制:又稱為「TCL語言」,包括事務的提交與回滾。
6、嵌入式SQL語言的使用規定:規定SQL語句在宿主語言的世螞程序中使用的規則。
H. sql日期格式轉換
舉例如下:
select Convert(varchar(10),getdate(),120)
2006-05-12
select CONVERT(varchar, getdate(), 120 )
2006-05-12 11:06:08
select replace(replace(replace(CONVERT(varchar, getdate(), 120 ),'-',''),' ',''),':','')
20060512110608
select CONVERT(varchar(12) , getdate(), 111 )
2006/05/12
select CONVERT(varchar(12) , getdate(), 112 )
20060512
select CONVERT(varchar(12) , getdate(), 102 )
2006.05.12
其它幾種不常用的日期格式轉換方法:
select CONVERT(varchar(12) , getdate(), 101 )
0612/2005 select CONVERT(varchar(12) , getdate(), 103 )
12/09/2004
select CONVERT(varchar(12) , getdate(), 104 )
12.05.2006
select CONVERT(varchar(12) , getdate(), 105 )
12-05-2006
select CONVERT(varchar(12) , getdate(), 106 )
12 05 2006
select CONVERT(varchar(12) , getdate(), 107 )
05 12, 2006
select CONVERT(varchar(12) , getdate(), 108 )
11:06:08
select CONVERT(varchar(12) , getdate(), 109 )
0512 2006 1
select CONVERT(varchar(12) , getdate(), 110 )
09-12-2004
select CONVERT(varchar(12) , getdate(), 113 )
12 052006
select CONVERT(varchar(12) , getdate(), 114 )
11:06:08.177
I. sqldatetime轉為smalldatetime格式
在 SQL Server 中,可以使用 CAST 或 CONVERT 函數將 SQLDatetime 轉換為 SmallDatetime 格式。以下是兩種不同的轉換方法:
1. 使用 CAST 函數:
```
SELECT CAST('2021-05-31 22:30:00' AS SmallDatetime)
```
這會將 SQLDatetime '2021-05-31 22:30:00' 轉換為 SmallDatetime 格式。
2. 使用 CONVERT 函數:
```
SELECT CONVERT(SmallDatetime, '2021-05-31 22:30:00', 120)
```
這也會將 SQLDatetime '2021-05-31 22:30:00' 轉換為 SmallDatetime 格式。其中,120 是轉鏈源如換代碼(convert code),用於棚啟指定將字元串轉換為哪種日期和時間格式。在這里,120 表示將字元串轉換為 "yyyy-mm-dd hh:mi:ss" 格式的日期和時間。
以上兩種方法都可以將 SQLDatetime 轉換為 SmallDatetime 格式。需要注意的是,由於 SmallDatetime 格式的精度只有分鍾級別,因此裂猛在進行轉換時可能會發生舍入或截斷。
J. SQL中如何將數字型轉換為日期型
平時為了方便存儲和查詢,通常會選擇將時間存儲為毫秒或者秒的形式。但是頁面顯示的時候很不直觀,需要將整型數字轉化成日期格式,轉化方式包友行括下面幾種:
1、秒數與Date之間的轉換:selectfrom_unixtime(1388776825);
還可以定義時間格式,用法如下:
SELECTFROM_UNIXTIME(1388776825,'%Y-%m-%d%H:%m:%s');
結果:2014-01-0403:01:25
SELECTFROM_UNIXTIME(1388776825,'%Y年%m月%d')
結果:2014年1月4
2、將秒數轉為Date:SELECTUNIX_TIMESTAMP('2014-03-2310:10:40')
如果想逆向轉換,可以通過unix_timestamp()函數反向轉換。用法如下:
SELECTUNIX_TIMESTAMP();//獲取當前時間的秒數
SELECTUNIX_TIMESTAMP('2014-03-2310:10:40');//獲取指定日期格式的秒數
SELECTUNIX_TIMESTAMP('2014-03-23');//獲取指定日期格式的秒數
(10)sql格式轉化擴展閱讀:
一、date型換int型
SELECTUNIX_TIMESTAMP(『2017-9-2213:54:45』)
二、int型轉date型
SELECTFROM_UNIXTIME(1506059685)
需要注意的是,孫拿一個int值轉換為DateTime需要從1970年1月1日0點則告搭0分0秒開始,但是必須明確,這個時間是標准時間,而不是北京時間。
資料庫中數據的時間都是以標准時間為准繩的。所以必須轉換到當前時間,中國是+8,可以簡單的調用ToLocalTime達到效果。