sql="Select * From 收費表 Where 項目名稱='一年一班' and 收費時間>='2010-1-1' and 收費時間<='2010-6-30'"
應該叫SQL查詢語句,不是公式
⑵ 如何編寫sql 計算一個公式
你寫什麼計算公式,正常是數學運算直接用列名加減乘除,有優先運算的加上括弧就可以了,如:
select (欄位1*欄位2-5000)/欄位3
而且sql中還自帶一下函數,你也可以應用如。
select getdate() ,day(getdate())
⑶ 我想用Excel宏編寫代碼來對SQL資料庫進行連接和操作,請教詳細的步驟或方法,重分!!!!一定加分
參考網上資料:
http://www.access-cn.com/offspace/html/32/n-532.html
一、載入ODBC宏(OFFICE2000光碟有提供)後您就可以使用該函數了。語法及示例詳參《OFFICE2000幫助文檔》,全篇如下:Office中國社區門戶4q_Sz y0[ Z!g
連接到外部數據源並運行工作表中的查詢。然後,函數 SQL.REQUEST 以數組形式返回結果,而不必運行宏。如果該函數不存在,就必須安裝 Microsoft Excel 的 QDBC 載入宏(XLODBC.XLA)。Office中國社區門戶(m1n:jj(alT3^
語法Office中國社區門戶}}o%p&I"ev"b
SQL.REQUEST(connection_string,output_ref,driver_prompt,query_text,col_names_logical)
.I3ow{0FKh,]*S'A5V:Eq0
Connection_string 提供信息,如數據源名稱、用戶標識和口令等。這些信息對於連接數據源的驅動程序是必需的,同時它們必須滿足驅動程序的格式要求。下表給出用於 3 個不同驅動程序的 3 個連接串的示例。
#RT"~6e7h&? M!`'J0
oT f'j%o)M0 驅動器 連接串
dBASE DSN=NWind;PWD=test
SQL Server DSN=MyServer;UID=dbayer; PWD=123;Database=Pubs
ORACLE DNS=My Oracle Data Source;DBQ=MYSER VER;UID=JohnS;PWD=Sesame
Office中國社區門戶r;}??X7||
7V2\O e&{S I;mIT8N0
在試圖連接到數據源之前,必須定義在 connection_string 中使用的數據源名稱(DSN)。Office中國社區門戶p.D9{8]k }
Z0k0X/@ Q6|#rAP~0 可以以數組或字元串的形式輸入 connection_string。但如果 connection_string 超過 250 個字元,必須按數組的形式輸入。
4_0M+Hb&At3^0Office中國社區門戶b-Q0iI9p)Y
如果函數 SQL.REQUEST 不能使用 connection_string 訪問數據源,則返回錯誤值 #N/A。 Output_ref 對用於存放完整的連接字元串的單元格的引用。如果在工作表中輸入函數 SQL.REQUEST,可以忽略 output_ref。
當需要函數 SQL.REQUEST 返回完整的連接串時,可以使用 output_ref(此種情況下,必須在宏表中輸入函數 SQL.REQUEST)。Office中國社區門戶#^;a#C/b9r~&d
Office中國社區門戶K$M'FCJXb
如果省略 output_ref,函數 SQL.REQUEST 不能返回完整的連接串。 Driver_prompt 指定驅動程序對話框的顯示時機以及可用的選項。可以使用下表中所描述的數字來描述 driver_prompt。如果省略 driver_prompt,函數 SQL.REQUEST 默認為 2 。
2cX!c0~e5Rl&RT6U0 Office中國社區門戶X9d7G _n
Driver_prompt 說明
1 一直顯示驅動程序對話框。
2 只有在連接串和數據源說明提供的信息不夠充分,以致不能完成連接時,才顯示驅動程序對話框。所有對話框選項都可使用。
3 只有在連接串和數據源說明提供的信息不夠充分,以致不能完成連接時,才顯示驅動程序對話框。如果未指明對話框選項是必需的,這些選項是暗的,不能使用。
4 不顯示對話框。如果連接不成功,則返回錯誤值。
{ |1@Pi)L0Office中國社區門戶8_E8q4L9x]6X4J"_/C
Query_text 需要在數據源中執行的 SQL 語句。
如果函數 SQL.REQUEST 不能在指定的數據源中執行 query_text,則返回錯誤值 #N/A 。Office中國社區門戶*`%S Hr+C7e6A1h3f
Office中國社區門戶Eg.\*_H)yB
可以將引用連接到 query_text 上來更新查詢。在下面的例子中,每次 $A$3 改變,函數 SQL.REQUEST 使用新的數值來更新查詢。
"SELECT Name FROM Customers WHERE Balance > "&$A$3&"".
Microsoft Excel 將串長度限制在 255 個字元內。如果 query_text 超過此長度,請在垂直單元格區域中輸入查詢並使用整個區域作為 query_text。所有單元格的值連接在一起,形成完整的 SQL 語句。 Office中國社區門戶 S,m/u(k]
Column_names_logical 指明是否將列名作為結果的第一行返回。如果要將列名作為結果的第一行返回,請將該參數設置為 TRUE。如果不需要將列名返回,則用 FALSE。如果省略 column_names_logical,則函數 SQL.REQUEST 不返回列名。
/q#H@B#Y:ji_0
返回值
如果此函數完成了它的所有功能,則返回查詢結果數組或受查詢影響的行數。Office中國社區門戶WRBy h&O@Pll
Office中國社區門戶)z*WnpE1J'E$?.@
如果函數 SQL.REQUEST 不能使用 connection_string 訪問數據源,則返回錯誤值 #N/A。
3u'sr+~9~/yFTfmS0說明
函數 SQL.REQUEST 可以以數組的形式輸入。如果以數組形式輸入函數 SQL.REQUEST,該函數將返回一個恰好填充選定區域的數組。Office中國社區門戶 cq8Xq ]NS
Office中國社區門戶(^T%b7@ ]y
如果單元格區域大於結果集,函數 SQL.REQUEST 向返回的數組添加空單元格,直至增加到所需要的大小。
;Y"X;FA,kW0
+Lu"l5@?0 如果結果集大於以數組形式選定的輸入區域,函數 SQL.REQUEST 返回整個數組。Office中國社區門戶]/y){ Q sIX
Office中國社區門戶1c#ZY8`7n$YRp&x
函數 SQL.REQUEST 參數的次序與 Visual Basic for Application 中函數 SQLRequest 的參數次序不同。
Office中國社區門戶"C!pK p9O6BnlPj
示例
6c!s3F^-TzT_0
假設需要對名為 DBASE4 的 DBASE 資料庫進行查詢。如果在單元格中輸入下列公式,將會返回查詢結果數組,其中第一行是列名:Office中國社區門戶B9]4[RqK_wc
SQL.REQUEST("DSN=NWind;DBQ=c:\msquery;FIL=dBASE4", c15, 2,
"Select Custmr_ID, Due_Date from Orders WHERE order_Amt>100", TRUE)二、用「數據」菜單上的「獲取外部數據」-「新建資料庫查詢」向導獲取資料庫數據。用該向導取得數據後,以後該工作表的數據以後會隨數據動態更新(在不移動數據源文件的前提下)。注意:請仔細設置外部數據表的屬性,會有更多收獲。
以上答案供參考
⑷ sql (mysql)怎麼實現查詢某一個經緯度周圍500米距離的餐館,資料庫存放所有餐館的經緯度
回答的有點晚,正好我做到相關的項目了,希望能幫到其他人.
餐館申請時候通過填寫的地址取得經緯度存入資料庫,下面是查詢某個經緯度附近500米的
$user_lat='41.749034'; //傳過來的緯度
$user_lng='123.46017';//傳過來的經度
$store_mod=db("store"); //資料庫
$storelist=$store_mod->query("SELECT
*,ROUND(6378.138*2*ASIN(SQRT(POW(SIN((".$user_lat."*PI()/180-【store_latitude】*PI()/180)/2),2)+COS(".$user_lat."*PI()/180)*COS(【store_latitude】*PI()/180)*POW(SIN((".$user_lng."*PI()/180-【store_longitude】*PI()/180)/2),2)))*1000)
AS distance FROM store HAVING 【搜索條件如 state=1】 distance<【周圍距離多少米 如
500】 ORDER BY distance ASC");
var_mp($storelist);
【】sql語句中括弧的store_latitude,store_longitude為你資料庫存的商家經緯度的欄位名,其餘的為注釋
⑸ SQL公式請教如何編寫
select 應用名稱,
sum( case when no = 1 then 文檔個數 end) || '/' || sum( case when no = 2 then 文檔個數 end) 完成率
from (
select sum(1) 文檔個數,yymc 應用名稱,status 狀態
,row_number() over(partition by yymc , status order by yymc , status desc ) as no
from T_DBWCLZB group by status, yymc )
group by 應用名稱
order by 應用名稱
機器上沒環境,你自己試一下
⑹ SQL裡面如何計算兩列地址(中文)的相似度
相似度公式:Kq*q/(Kq*q+Kr*r+Ks*s)(Kq>0,Kr>=0,Ka>=0)設q是字元串1和字元串2中都存在的單詞的總數,s是字元串1中存在,字元串2中不存在的單詞總數,r是字元串2中存在,字元串1中不存在的單詞總數,t是字元串1和字元串2中都不存在的單詞總數。
createFUNCTION[dbo].[F_strcompare](@str1VARCHAR(8000),
@str2VARCHAR(8000))
RETURNSVARCHAR(10)
AS
BEGIN
DECLARE@iINT,
@jINT,
@kINT,
@retVARCHAR(10)
SELECT@i=MAX(strlen),
@j=MIN(strlen),
@k=0
FROM(SELECTstrlen=Len(@str1)
UNION
SELECTstrlen=Len(@str2))t
IF(@j=0)
RETURN'0'
WHILE@j>0
BEGIN
IFSubstring(@str1,@j,1)=Substring(@str2,@j,1)
SET@k=@k+1
SET@j=@j-1
END
SET@ret=Rtrim(CAST(@k*100.0/@iASNUMERIC(3,0)))
RETURN@ret
END
⑺ sql統計問題(很常用的)急用高手解答...可分數追加
select 貨名表.貨號,貨名表.貨名,貨名表.單位,貨名表.規格,上期表.數量,上期表.金額,進數首貨表.進貨數,進貨表.進貨金,進貨表.單號,出貨表.出貨數,出貨表.出貨金,出貨表.單號,(計算公式1) as 結薯彎數存數量,(計算公式2) as 結存金額
金from 貨名表 left outer join
上期表 on 貨名表.貨號 = 上期表.貨號 left outer join
進貨表 on 進貨表.貨號 = 進貨表.貨號 left outer join
出貨表 on 出貨表.貨號 = 出貨表.貨號 left outer join
我只能幫你寫到這了。就是用這種left outer join來試試吧。
因為你表述的邏輯也不是很清楚,還有鬧蠢什麼成本啊也沒有體現,真的沒辦法給你寫具體的,只是一個思路。
另,你可以把這些表按這個方式寫在VIEW里啊,不就隨時可以用了嗎。
希望能幫到你!