MW211 EXIT

devlog
Chocolateyのインストール方法
2015年03月18日
(1) 任意のインストールフォルダを作成する「C:\tools\Chocolatey」
(2) システム環境変数に以下を設定する(変数値はインストールフォルダ)
    ┌───┬──────────┐
    │変数名│ChocolateyInstall   │
    ├───┼──────────┤
    │変数値│C:\tools\Chocolatey │
    └───┴──────────┘
    以下で、設定状況を確認できる
  ┌─────────────────────────────────────┐
  │echo %ChocolateyInstall%                                                  │
  └─────────────────────────────────────┘
(3) 管理者権限でコマンドプロンプトを起動し以下を実行する(一行で)
  ┌─────────────────────────────────────┐
  │@powershell -NoProfile -ExecutionPolicy unrestricted -Command             │
  │ "iex ((new-object net.webclient).                                        │
  │ DownloadString('https://chocolatey.org/install.ps1'))"                   │
  │ && SET PATH=%PATH%;%systemdrive%\ProgramData\chocolatey\bin              │
  └─────────────────────────────────────┘

・Chocolatey自体のアンインストールは、インストールフォルダを丸ごと削除するだけ
  インストール時に、レジストリ等はいじられていない
分類:IT全般
秀丸マクロ/二重引用符の中のカンマ置換
2015年03月17日
CSVデータで値にカンマを含むがために二重引用符で囲われている場合、
そのカンマを違う値にするマクロ。

┌──────────────────────────────────────┐
│while(1) {                                                                  │
│    replaceallfast "(^([^,\"]*?,|\"[^,\"]*\",)*\"[^,\"]*),(.*$)",           │
│                   "\\1,\\2",                                              │
│                   regular;                                                 │
│    if (!result) break;                                                     │
│}                                                                           │
│endmacro;                                                                   │
└──────────────────────────────────────┘
上記では「,」(全角カンマ)に置換している。
分類:秀丸エディタ
MSSQL/長文のデータ型
2015年03月16日
Q.データ型で「nvarchar(4000)」と「nvarchar(max)」の違いは?

A.いずれも長い文字列を格納する項目の場合に使用する型です
    「nvarchar()」に指定できる最大文字数は4000文字なので
    その指定での最大が「nvarchar(4000)」となります
    「nvarchar(max)」はさらに大きく2GB分になります
    但し、これについてはインデックス項目に含めない方がよいようです
分類:MSSQL
MSSQL/UNIONのCAST誤認
2015年03月15日
ものすごく話を単純化して説明すると、以下の様なSQL文を実行した場合…
┌──────────────────────────────────────┐
│SELECT NULL                                                                 │
│UNION ALL                                                                   │
│SELECT 'a'                                                                  │
└──────────────────────────────────────┘
以下のようなエラーが発生することがある。
┌──────────────────────────────────────┐
│nvarchar の値 'a' をデータ型 int に変換できませんでした。                   │
└──────────────────────────────────────┘
NULLをint型と誤認して、文字型(nvarchar型)と不整合となったようだ。

但し、これは上記をそのまま実行しても発生しない。
VIEWを介した時に発生するようだ。

とにかくこれを回避するには、以下のようにNULLをCASTすればいいようだ。
┌──────────────────────────────────────┐
│SELECT CAST(NULL AS nvarchar)                                               │
│UNION ALL                                                                   │
│SELECT 'a'                                                                  │
└──────────────────────────────────────┘
分類:MSSQL
ExcelVBA/行範囲の指定
2015年03月13日
「Rows("1:3")」をR1C1的に指定したい場合。

△「Rows(1 & ":" & 3)」
  →ちょっとカッコ悪い「Columns()」に応用が効かない

×「Rows(1, 3)」
  →こういう指定はできない

×「Rows(Rows(1), Rows(3))」
  →こういう指定はできない

×「Rows(Cells(1,), Cells(3,))」
  →こういう指定はできない

○「Range(Rows(1), Rows(3))」
  →「Range()」を使うことになる
分類:ExcelVBA
設計/垂直・水平と縦・横
2015年03月12日
「垂直(Vertical)」と「水平(Horizon)」について、
なんとなく「縦」と「横」というイメージがある。

でも、Excelにおけるページ分割、つまりページが縦に並んだ場合は「HPage」、
すなわち「水平(Horizon)」で制御される。

「縦」に並んでいるのだから「VPage」ではないのか?
と思うわけだが、「垂直(Vertical)」と「水平(Horizon)」のイメージにより
一概に「縦」と「横」にあてはめられないということらしい。

で、イメージは以下の通り。
┌───────────────┐
│垂直(Vertical)  水平(Horizon) │
│┌─┬─┬─┐  ┌─────┐│
││  │  │  │  │          ││
││  │  │  │  ├─────┤│
││  │  │  │  │          ││
││  │  │  │  ├─────┤│
││  │  │  │  │          ││
│└─┴─┴─┘  └─────┘│
└───────────────┘

つまり、横は横でも、横に広がるイメージらしい。(水平線ってくらいだから)

なので、ページが縦に並ぶのは、左のイメージで「水平(Horizon)」になるというわけ。
分類:設計
ExcelVBA/ダイアログでファイルを選択
2015年03月11日
ダイアログでファイルを選択する、単純な例(雛形)。
┌──────────────────────────────────────┐
│Sub ファイルを開く()                                                        │
│    Dim ファイル名 As Variant                                               │
│    ファイル名 = Application.GetOpenFilename( _                             │
│                     FileFilter:="Microsoft Excelブック,*.xls?", _          │
│                     FilterIndex:=1, _                                      │
│                     Title:="ファイルを選択してください", _                 │
│                     MultiSelect:=False _                                   │
│                 )                                                          │
│    MsgBox ファイル名                                                       │
│End Sub                                                                     │
└──────────────────────────────────────┘
分類:ExcelVBA
MSSQL/数値変換
2015年03月10日
文字列を数値変換する場合、例えば先頭2文字を抜き出し数値変換する場合、
単純に組み合わせれば以下のような形が考えられる。
┌──────────────────────────────────────┐
│CONVERT(int, LEFT([列], 2))                                                 │
└──────────────────────────────────────┘
しかしながら、これだと数値変換できなイレギュラーなケースでエラーとなってしまう。

そういったことに対応できる堅牢な手段となると、以下がある。
┌──────────────────────────────────────┐
│TRY_CAST(LEFT([列], 2) AS int)                                              │
└──────────────────────────────────────┘
変換に失敗した場合はエラーにせず「NULL」にしてくれる。
但し、うまくいってしまい「0」になる場合もあるから注意。
(ExcelVBAの「Val()」と似たようなものだ)
分類:MSSQL
MSSQL/ストアドプロシージャの戻り値確認
2015年03月09日
「SQL Server Management Studio」のクエリにて、
ストアドプロシージャの戻り値を確認する方法。
┌──────────────────────────────────────┐
│DECLARE @変数 [int];                                                        │
│EXECUTE @変数 = [ストアドプロシージャ];                                     │
│PRINT @変数;                                                                │
└──────────────────────────────────────┘
変数を用意し、代入してPRINT出力する。
代入は「EXECUTE」とストアドプロシージャの間に代入文を挿入する。
分類:MSSQL
MySQL/権限の確認方法
2015年03月08日
自分の権限を確認する場合は以下の通り。
┌──────────────────────────────────────┐
│SHOW GRANTS FOR CURRENT_USER();                                             │
└──────────────────────────────────────┘

「CURRENT_USER()」をユーザ名に置き換えれば他者の権限も確認できる。
分類:MySQL
前へ 1 2 3 次へ