sql文紀要


一部のデータはまったく同じで、重複を消去するには、重複しないデータを1つだけ保持します.
DELETE FROM S_Users
WHERE (AI NOT IN
          (SELECT MAX(AI)
         FROM S_Users))

データベースのすべてのテーブル名を調べる
SELECT *
FROM information_schema.tables
SELECT name
FROM sysobjects
WHERE (xtype = 'u') AND (NOT (name LIKE 'dtproperties'))

データベースのセグメントデータの置換
表示される指定したすべての文字列値を別の文字列値で置き換えます.
1番目の式に表示されるすべての2番目の式を3番目の式で置き換えます.
構文
REPLACE ( string_expression , string_pattern , string_replacement )

パラメータ
string_expression
検索する文字列式.string_expressionは、文字またはバイナリデータ型であってもよい.
string_pattern
は、検索するサブ文字列です.string_patternは、文字またはバイナリデータ型であってもよい.string_patternは空の文字列(')ではありません.
string_replacement
文字列を置換します.string_replacementは、文字またはバイナリデータ型であってもよい.
戻りタイプ
入力パラメータの1つがnvarcharの場合、nvarcharが返されます.そうでない場合、REPLACEはvarcharを返します.
いずれかのパラメータがNULLの場合、NULLが返されます.コメント
REPLACEは、入力されたソート規則に従って比較操作を行う.指定したソート・ルールで比較を実行するには、COLLATEを使用して、指定した入力のソート・ルールを表示します.
update  A set      = replace( replace(    ,'17951',''),'12593','')
where      like '17951%' or      like '12593%' 

 
取得時間差
SELECT DATEDIFF([day]
                , (SELECT        FROM A  WHERE (   = '11'))
                , GETDATE()) AS DiffDate


 
 
文字列の切り取り
declare @c varchar(500)  
select @c='123|456|789|012|345'  
select substring(@c,1,charindex('|',@c)-1)  
union  
select substring(stuff(@c,1,charindex('|',@c),''),1,charindex('|',@c)-1)  
union  
select substring(stuff(stuff(@c,1,charindex('|',@c),''),1,charindex('|',@c),''),1,charindex('|',@c)-1)  
union  
select substring(stuff(stuff(stuff(@c,1,charindex('|',@c),''),1,charindex('|',@c),''),1,charindex('|',@c),''),1,charindex('|',@c)-1)  
union  
select substring(stuff(stuff(stuff(stuff(@c,1,charindex('|',@c),''),1,charindex('|',@c),''),1,charindex('|',@c),''),1,charindex('|',@c),''),1,charindex('|',@c)-1)