英文書くのに便利だなぁと思って紹介してみる
今年から英語がかなり必要、というか生きていけない環境になりそうなので急遽勉強をはじめました。英単語の総復習には、milkan を使っています。
TOEIC も受験していきたいと思ったので、トレーニング TOEIC ® test も使用しています。
上記以外には、自分のブログに投稿するのも日本語と英語の記事を投稿します。投稿時に英文法をチェックするのに使用しているのが、Ginger Page です。
www.getginger.jp
使い方は非常に簡単です。下記の記事から、一文間違った状態でチェックにかけけてみます。
ryuchan.hatenablog.com
赤字の間違いを仕込んだ文章です。
The end of HEISEI ( 平成 ), REIWA ( 令和 ) has begin. The last year of HEISEI was turning point in my life. However, I still want to evolve, so I want to move forward without fear of change.
I will explain about TRANSLATE (Transact-SQL) - SQL Server | Microsoft Docs. Complex processing in REPLACE function can be describe very simply by TRANSLATE function. Let's compare the description contents of REPLACE function and TRANSLATE function.
まず、チェックする文章を貼り付け、Ginger it! をクリックします。
begin → begun に変更されています。
describe → described に変更されています。
この機能を使い、投稿前に英文のチェックをしています。また、Sentence Rephaser という機能もあり、イケてる言い回し候補を提案する機能もあります。コツコツ勉強していこう。
CD付 ENGLISH JOURNAL (イングリッシュジャーナル) 2019年5月号
- 出版社/メーカー: アルク
- 発売日: 2019/04/05
- メディア: 雑誌
- この商品を含むブログを見る
Some useful SQL functions, syntax, and more - Part 18 ( REIWA GANNEN Memorial Post )
The end of HEISEI ( 平成 ), REIWA ( 令和 ) has begun. The last year of HEISEI was turning point in my life. However, I still want to evolve, so I want to move forward without fear of change.
I will explain about TRANSLATE (Transact-SQL) - SQL Server | Microsoft Docs. Complex processing in REPLACE function can be described very simply by TRANSLATE function. Let's compare the description contents of REPLACE function and TRANSLATE function.
Let's execute the following query in SQL Server Management Studio.
DECLARE @str NVARCHAR(255) = 'aaa,aaa,aaa|bbb,bbb,bbb' SELECT REPLACE(REPLACE(REPLACE(@str,'|','*'),',','|'),'*',',') [REPLACE], TRANSLATE(@str, ',|', '|,') [TRANSLATE]
The features of TRANSLATE function are as follows.
The behavior of the TRANSLATE function is similar to using multiple REPLACE functions. TRANSLATE does not, however, replace a character more than once. This is dissimilar to multiple REPLACE functions, as each use would replace all relevant characters.
In stored procedures, I often find that the RELACE function is nested in multiple layers. Although not available in all cases, use TRANSLATE function to refactor complex stored procedures.
I bought this magazine. I will do my best to study English!!
AERA English (アエラ・イングリッシュ) 2019 Spring & Summer【表紙:山下智久】 (AERA増刊)
- 出版社/メーカー: 朝日新聞出版
- 発売日: 2019/03/28
- メディア: 雑誌
- この商品を含むブログを見る
便利な SQL の関数とか、構文とか、その他色々まとめてみる - その18 ( 令和元年記念投稿 )
平成も終わり、令和が始まりました。平成最後の年は、自分自身として人生の転機でした。ただ、まだまだ進化はしていきたいので、変化を恐れず進んでいきたいと思っています。
今回は、TRANSLATE (Transact-SQL) - SQL Server | Microsoft Docs について説明します。一見、REPLACE (Transact-SQL) - SQL Server | Microsoft Docs 似ていますが、REPLACE では複雑になってしまう処理も TRANSLATE では非常に簡潔に記述することが可能です。それでは、REPLACE と TRANSLATE で記述内容を比較してみましょう。下記のクエリを SQL Server Management Studio で実行してみましょう。
DECLARE @str NVARCHAR(255) = 'aaa,aaa,aaa|bbb,bbb,bbb' SELECT REPLACE(REPLACE(REPLACE(@str,'|','*'),',','|'),'*',',') [REPLACE], TRANSLATE(@str, ',|', '|,') [TRANSLATE]
TRANSLATE は下記の部分が特徴となります。
TRANSLATE 関数の動作は、複数の REPLACE 関数を使用した場合と似ています。 ただし、TRANSLATE では文字が複数回置き換えられることはありません。 これは、使用するたびに関連するすべての文字が置き換えられる複数の REPLACE 関数とは異なります。
ストアドプロシージャでよく RELACE 関数が何重にも入れ子になっている処理を見かけることがあります。全ての場合において使用できるわけではありませんが、TRANSLATE を使って、複雑になってしまったストアドプロシージャをリファクタリングしましょう。
The features you should know about SQL Server Management Studio - Part 14 - (New Features in SSMS 18)
Golden Week of 10 consecutive holidays has started. It's a historical Golden Week that changes from HEISEI( 平成 ) to REIWA( 令和 ) during consecutive holidays. Recently, I thought that SQL Server CTP update was quick. SSMS 18 has become generally available. Whenever a new version comes out related to SQL Server, I tend to look around dmv, execution plans. Since there were changes in the SSMS graphical execution plan, I tried it.
- AdventureWorks2017, SalesOrderHeader is used.
- A NonClustered index of OrderDate is created.
Let's execute the following query in SQL Server Management Studio!
SELECT SalesOrderID, RevisionNumber, OrderDate, DueDate, ShipDate, Status, OnlineOrderFlag, SalesOrderNumber, PurchaseOrderNumber, AccountNumber, CustomerID, SalesPersonID, TerritoryID, BillToAddressID, ShipToAddressID, ShipMethodID, CreditCardID, CreditCardApprovalCode, CurrencyRateID, SubTotal, TaxAmt, Freight, TotalDue, Comment, rowguid, ModifiedDate FROM AdventureWorks2017.Sales.SalesOrderHeader WITH(INDEX(NonClusteredIndex)) WHERE OrderDate BETWEEN '2011-05-30 00:00:00.000' AND '2012-05-31 00:00:00.000'
The operator sees something that is unfamiliar when you look closely.
The elapsed time, actual number of lines and estimated number of lines are displayed. This sounds good. It is possible to check if there is a statistical problem or not. The red line of 3028 is the actual line, and the blue line of 3041 is the estimated number of lines.
Every time a version is upgraded, good improvements are added. Thanx!
SQL Server Management Studio の知っておいたほうが良い機能について挙げてみる - その14 - ( SSMS 18 の新しい機能 )
さて、10 連休のゴールデンウィークが始まりました。しかも、連休中に平成から令和に変わるという歴史的なゴールデンウィークです。最近、SQL Server の CTP のアップデートが早いなぁと思っていたら、SSMS の 18 が GA されました。SQL Server 関連で新しいバージョンが出たときはどうしても、dmv、実行プラン周りなどに目がいきがちです。SSMS のグラフィカルな実行プランで変更があったので、早速試してみました。
※AdventureWorks2017, SalesOrderHeader を使用しています。
※OrderDate の非クラスタ化インデックスを作成しています。
下記のクエリを SQL Server Management Studio で実行してみましょう。
SELECT SalesOrderID, RevisionNumber, OrderDate, DueDate, ShipDate, Status, OnlineOrderFlag, SalesOrderNumber, PurchaseOrderNumber, AccountNumber, CustomerID, SalesPersonID, TerritoryID, BillToAddressID, ShipToAddressID, ShipMethodID, CreditCardID, CreditCardApprovalCode, CurrencyRateID, SubTotal, TaxAmt, Freight, TotalDue, Comment, rowguid, ModifiedDate FROM AdventureWorks2017.Sales.SalesOrderHeader WITH(INDEX(NonClusteredIndex)) WHERE OrderDate BETWEEN '2011-05-30 00:00:00.000' AND '2012-05-31 00:00:00.000'
よく見ると見慣れないものがオペレータに表示されています。
オペレーター単位の経過時間、実際の行数および推定の行数が表示されています。これはいいですね。パッとみて統計の問題が発生していないかなど判断することが可能です。赤線の引かれている 3028 が実際の行、青線の引かれている 3041 が推定の行数です。
バージョンアップされるたびに、いい改善が追加されていますね。有難いです。
こんな SQL Server 本あるのか。ちょっと見てみたい。
経理のための 中級者向け Excel 2016 with SQL Server Express 2017 テーブル・クエリ・データベース編
- 作者: 越山紘都
- 発売日: 2017/12/06
- メディア: Kindle版
- この商品を含むブログを見る
こんな感じのキャンプで使えるチェア欲しい。
- 出版社/メーカー: Travel Light
- メディア: その他
- この商品を含むブログを見る
SQL Server の構造について記事にしてみる - その4 ( SQL Server 2019 をインストールしたら、sys.dm_db_page_info というものを見つけたのでちょっと動きをしらべてみた ) -
少しだけ SQL Server 2019 をお触りしてみました。その中で一つ気になった sys.dm_db_page_info (Transact-SQL) - SQL Server | Microsoft Docs というものがあり、もしや DBCC PAGE の代替となるものでは!と思い調べてみました。
DBCC PAGE といえば、『 SQL Server の構造について記事にしてみる 』 でインデックスの構造を調査するのに使用していました。
ryuchan.hatenablog.com
その後、図とか色々と書くのが面倒なため、シリーズはその3で打ち切りとなっていました(笑) 今回はちょっと興味を持ったので、勢いにまかせて一気に記事書きます。
※『 SQL Server の構造について記事にしてみる - その3 』で使用したクエリをベースにします。
※ データベースは、AdventureWorks2017 を使っています。
※テーブルは、Sales.SalesOrderHeader を使っています。
それでは、早速下記のクエリを SQL Server Management Studio で実行してみましょう。
SELECT dpa.allocated_page_page_id, dpa.page_type, dpa.page_type_desc, dpa.page_level, dpa.next_page_page_id, dpa.previous_page_page_id FROM sys.dm_db_database_page_allocations(DB_ID(), OBJECT_ID('Sales.SalesOrderHeader'), null, NULL, 'DETAILED') dpa
次に、下記のクエリを SQL Server Management Studio で実行してみましょう。
DBCC TRACEON(3604) DBCC PAGE(N'AdventureWorks2017',1,16416,3) WITH TABLERESULTS DBCC TRACEOFF(3604)
次に、dm_page_info を使ったクエリを SQL Server Management Studio で実行してみましょう。
SELECT pi.* FROM sys.dm_db_database_page_allocations(DB_ID(), OBJECT_ID('Sales.SalesOrderHeader'), null, NULL, 'DETAILED') dpa CROSS APPLY sys.dm_db_page_info(dpa.database_id, dpa.allocated_page_file_id, dpa.allocated_page_page_id, 'DETAILED') pi WHERE dpa.allocated_page_page_id = 16416
DBCC PAGE のヘッダー情報にあたるものくらいが取得できるようです。Undocumented な DBCC コマンドが dmv 化されたか!?と思ったのですが、DBCC PAGE の全ての情報を参照できるものでは無いようです。バージョンアップされることで、データ部、個別情報を出力できる dmv が追加( dm_page_info_detail... とか? )されるのでしょうか。今後のバージョンアップに期待ですね。
最新の iPad mini が欲しい。
Apple iPad mini 4 (Wi-Fi, 128GB) - シルバー (第4世代)
- 出版社/メーカー: Apple(アップル)
- 発売日: 2015/09/17
- メディア: Personal Computers
- この商品を含むブログを見る
けど、iPad Pro 11 に使える Pencil も欲しい。
www.amazon.co.jp