【SQL Server】複数行データをセミコロン区切りの1行に纏める

※SQL Server 2016にて確認

■実行結果

codevalue
AGroupA01;A02;A03
BGroup B01;B02;B03
CGroup C01

【SQL Server】セミコロン区切りの1行データを複数行に変換する

※SQL Server 2016にて確認

■実行結果

codevalue
AGroupA01
AGroup A02
AGroup A03
BGroupB01
BGroup B02
BGroup B03

【SQL Server】invoke-sqlcmd で 重複する列名は~ エラーが発生する

■エラー内容

「invoke-sqlcmd : 重複する列名は、SQL PowerShell では許可されません。列を繰り返す場合、重複する列には Column_Name AS New_Name の形式で列の別名を使用します。」

■原因

invoke-sqlcmdの-InputFileで指定したSQLファイルの文字コードがSJISであったために、as句で付与した列別名が文字化けしてしまったために発生していた。

SQLファイルの文字コードをサクラエディタなどでUTF-8に修正したところ、エラーが解消された。

【SQL Server】全角文字が含まれるデータを取得する

※SQL Server2008にて動作確認

解説

LEN(文字数の取得)と、DATALENGTH(バイト数の取得)の結果が異なる場合、全角文字が含まれていると判断しています。
尚、LEN関数は末尾に半角スペースが含まれる場合、1文字分少なくカウントされるため、RTRIMであらかじめ末尾のスペースを取り除いた上で比較しています。