目前分類:Microsoft SQL Server (5)

瀏覽方式: 標題列表 簡短摘要

前幾天剛好有朋友問,怎麼下TSQL判斷,資料表中欄位含有中文的字, 
就先想到可以用先把字串分解成一個一個的字元,再來做 ASCII 的比對, 
建立的副程式如下

我的想法是因為最後一個英文 z 是122 ,所以比 122 大就判斷不是英文, 
而 A-Z,a-z 的範圍 ASCII 如下

-- a 97 
-- z 122 
-- A 65 
-- Z 90

 

01 CREATE    FUNCTION [dbo].[udf_IsContainChinese]

Empty 發表在 痞客邦 留言(0) 人氣()

長久-是指先註冊主機資訊,再用此資訊做查詢

1 --註冊遠端伺服器名稱
2 EXEC   sp_addlinkedserver     'otherDB','','SQLOLEDB','192.168.*.*'   -- 別名固定SQLServer
3 EXEC   sp_addlinkedsrvlogin   'otherDB','false',null,'帳號','密碼'     --帳號密碼
4  

Empty 發表在 痞客邦 留言(0) 人氣()

Microsoft SQL Server错误: 15138删除对于用户失败,数据库主体在该数据库中拥有架构,无法删除。解决方法

删除 对于 用户“*****”失败。  (Microsoft.SqlServer.Smo)

有关帮助信息,请单击: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&ProdVer=9.00.1523.00&EvtSrc=Microsoft.SqlServer.Management.Smo.ExceptionTemplates.FailedOperationExceptionText&EvtID=删除+User&LinkId=20476

------------------------------
其他信息:

Empty 發表在 痞客邦 留言(0) 人氣()

小豬頭寫了個補 0 的 SQL 問我怎麼跑不出來

主要當然是他沒把數字轉字串所以 SQL 很雞婆會自動轉回數字
其次是他的技巧是 先判斷數字的長度 然後再不斷用 case-when 補字串 '000...'
換句話說 如果最大可能補 10 個 0 他的 SQL 就要寫 10 組 case-when

Empty 發表在 痞客邦 留言(0) 人氣()

--当月天数
select day(dateadd(ms,-3,DATEADD(m, DATEDIFF(m,0,getdate())+1,0))) 
---当月第一天
select   dateadd(d,-day(getdate())+1,getdate())  
---当月最后一天
select   dateadd(d,-day(getdate()),dateadd(m,1,getdate()))
--本年最后一天
select   dateadd(d,-day(getdate()),dateadd(m,12,getdate()))
--当月第一个星期一
SELECT DATEADD(wk, DATEDIFF(wk, '', DATEADD(dd, 6 - DAY(getdate()), getdate())), '')


Empty 發表在 痞客邦 留言(0) 人氣()