かつて、元同僚 (若い女性) が私に質問をしました。彼女は、Web ページ上に記事タイトルのリストを表示したいのですが、一部のタイトルが長すぎて見栄えに影響を与えることを考慮して、他の Web サイトを参照したいと考えていました。固定長を超えるテキストを省略記号に置き換えるスタイルですが、実装方法がわからないので、私のことを思い出しました(ああ、私が必要なときだけ私のことを考えるでしょう、うーん...)
質問を受け取った後、データベースからそれを抽出することにしました。 結果は次のようになります。
説明ステートメント:
SELECT (LEFT (元のフィールド、桁数) '... ') AS 新しいフィールド
FROM テーブル名 WHERE DATALENGTH (元のフィールド) > 桁数
UNION ALL
SELECT 元のフィールド AS 新しいフィールド FROM テーブル名 WHERE DATALENGTH (元のフィールド) DATALENGTH() 関数は ACCESS ではサポートされていないため、LEN() に変更されましたが、この場合、漢字も元の 2 つではなく 1 つとしてカウントされます。
最終的には次のように記述されます:
select top 5 * from(
SELECT id,(LEFT([description],25) '...') AS descriptionx,kind,datetime, description, author, hit FROM [xjx] WHERE len( description )>25
UNION ALL
SELECT id,description AS descriptionx,kind,datetime, description, author, hit FROM [xjx] WHERE len(description)<=25) TempTable where kind='アクティビティ ブリーフィング' 日時順「